JS 如何复制数组内容,而非数组的引用。

JS 中对数组变量的传递,其实是传递的数组引用,你在使用新变量修改数组的时候,也改变了原有数组的内容,因为新变量和旧变量共同指向同一个数组。

如:
下面的例子中 temp 还是指向原有数组,temporigin 都指向同一个地址,所以你改其中一个,另一个也会出现同样的内容

array-js-not-change.png

如何复制一个数组,而非只是引用

只需要使用 [].contact(原数组) 即可

不过,如果原数组中的数组是引用型数据,这方法就不好使了。

看例子:
我需要以一个 origin 数组中参考,反选 exist 数组中的内容。
这样 temp 并没有指向原有数组 origin 而是一个单独的数组,不会影响 origin 的内容

array-js-changeorigin.png


KyleBing
659 声望18 粉丝

前端,喜欢 Javascript scss,喜欢做一些实用的小工具