如何在 ES6 中克隆数组?
ES6 中的扩展运算符用于克隆数组,而 JavaScript 中的 slice() 方法是一种较旧的方法,它提供 0 作为第一个参数。这些方法创建一个新的、独立的数组并将 oldArray 的所有元素复制到新数组,即这两种方法都对原始数组进行浅拷贝。
句法:
// Older way
var clonedArray= oldArray.slice(0)
// ES6 way: spread operator
var clonedArrayES6= [...oldArray]
例子:
输出:
相等性和相同性:与“=”运算符不同,它创建一个仅指向原始数组而不是复制其元素的新变量,扩展运算符创建一个新的克隆数组,具有不同的引用但相同的值。因此“=”运算符创建原始数组的深层副本,但扩展运算符执行浅拷贝。扩展运算符创建的数组与旧数组的值相同,但与旧数组不同。
例子:
输出:
注意:以上所有示例都可以通过在 HTML 的 script 标签中输入或直接输入浏览器控制台来进行测试。