JavaScript 提供了很多克隆数组的方法,其中大多数在性能和结果方面都非常相似。以下是一些可用选项的简要介绍。
扩展运算符
ES6 引入了扩展运算符 ( ...),它提供了可能是创建数组的浅层克隆的最简单和最常用的方法。
let x=[1,2,3,4];
let y=[...x];
Array.from()
Array.from()有一个非常强大的 API,可以用于许多不同的事情,包括创建一个数组的副本。
let x=[1,2,3,4];
let y=Array.from(x);
Array.prototype.slice()
与扩展运算符类似,Array.prototype.slice()可用于创建数组的浅拷贝。
let x=[1,2,3,4];
let y=x.slice();
Array.prototype.map()
研究一个非正统的选项,Array.prototype.map()可用于将数组的每个元素映射到自身以创建一个新数组。
let x=[1,2,3,4];
let y=x.map(i=>i);
Array.prototype.filter()
类似地,Array.prototype.filter()可用于返回true的每个元素,从而生成一个包含所有原始数组元素的新数组。
let x=[1,2,3,4];
lety=x.filter(()=>true);
对象.assign()
最后,Object.assign()方法可以以与创建对象克隆数组完全相同的方式使用。
letx=[1,2,3,4];
lety=Object.assign([],x);
更多内容请访问 https://www.icoderoad.com