数组的浅拷贝

本文探讨JavaScript中数组的非连续内存分配特性,以及如何通过赋值实现浅拷贝。当数组索引为字符串类型时,JS会自动转换。浅拷贝数组时,改变原数组会影响到复制的数组,但通过array.length=0或array=[]两种方式清零数组的影响不同。理解这些概念对于优化JS代码至关重要。
摘要由CSDN通过智能技术生成

数组的索引 index是字符串类型的,之所以[1]可以访问到是因为js将数字转化成了字符串

数组本来应该是一个连续的内存分配,但是在Javascript中不是连续分配的,而是类似哈希映射的方式存在的。

let a[] = b[]
让一个数组等于另一个数组,是使a数组的内存地址都指向b数组的内存地址,当b数组改变时,a数组也会随之改变,这就是浅拷贝

注:数组清零的方式1.array.length = 0(如果数组之前浅拷贝了另一个数组,此次操作也会使浅拷贝的数组清零)2.array = [ ],数组浅拷贝一个空数组,之前浅拷贝的数组不受影响

先打个草稿,等有时间再整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值