JavaScript中拷贝数组的技巧

  介绍

这篇文章主要介绍JavaScript中拷贝数组的技巧,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

数组拷贝经常被误解,但这并不是因为拷贝过程本身,而是因为缺乏对JS如何处理数组及其元素的理解. JS中的数组是可变的,这说明在创建数组之后还可以修改数组的内容。

这意味着要拷贝一个数组,咱们不能简单地将旧数组分配给一个新变量,它也是一个数组。如果这样做,它们将共享相同的引用,并且在更改一个变量之后,另一个变量也将受到更改的影响。这就是我们需要克隆这个数组的原因。

接着来看看一些关于拷贝和克隆数组的有趣方法和技巧。

技巧1 -使用<代码>数组。片方法

const  numbers =, (1,, 2,, 3,, 4,, 5]      const  copy =, numbers.slice ()   copy.push(6),//,添加新项以证明不会修改原始数组      console.log(复制)   console.log(数字)//,输出//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧2 -使用<代码>数组。地图> const  numbers =, (1,, 2,, 3,, 4,, 5]      const  copy =, numbers.map (=, num 祝辞,num )   copy.push(6),//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧3 -使用<代码> Array.from 方法

const  numbers =, (1,, 2,, 3,, 4,, 5];      const  copy =, Array.from (new 设定(数字));   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧4 -使用展开操作符

const  numbers =, (1,, 2,, 3,, 4,, 5];      const  copy =,数字[…];   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出,//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧5 -使用<代码>数组。> const  numbers =, (1,, 2,, 3,, 4,, 5];      const  copy =, Array.of数量(…);   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出,//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

<代码> Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。<代码> Array.of() 和<代码> 数组构造函数之间的区别在于处理整数参数:<代码> Array.of(7> 单个元素7的数组强,而<代码>数组(7)创建一个长度为7 <代码> 的空数组(注意:这是指一个有7个<代码> 空位(空的)的数组,而不是由<代码> 7个<代码>定义> Array.of (7),,,,,,,,//, [7],   Array.of (1,, 2,, 3);,//, [1, 2, 3]      数组(7),,,,,,,,,,,//,(,,,,,,,,,,,,)   阵列(1,,2,,3),,,,,//,[1,2,3]

技巧6 -使用数组构造函数和展开操作符

const  numbers =, (1,, 2,, 3,, 4,, 5];      const  copy =, new 数组(…数字);   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出,//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧7 -使用解构

const  numbers =, (1,, 2,, 3,, 4,, 5];      const […]副本,=,数字;   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧8 -使用数组。concat方法

const  numbers =, (1,, 2,, 3,, 4,, 5];      const  copy =, numbers.concat ();   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

技巧9 -使用<代码>数组。> const  numbers =, (1,, 2,, 3,, 4,, 5];      let  copy =, [];   copy.push数量(…);   copy.push(6),,//,添加新项以证明不会修改原始数组      console.log(副本);   console.log(数字);//,输出//,[1,2,3,4,5,6)//,[1,,2,,3,,4,,5]

JavaScript中拷贝数组的技巧