数组复制的常用方法总结

分类:知识百科 日期: 点击:0

数组复制是 JavaScript 开发中经常遇到的问题,它涉及到复制数组的值,而不是复制数组的引用。本文将简要介绍 JavaScript 中常用的数组复制方法,以便开发者能够更好地理解和使用这些方法。

1. 使用 Array.prototype.slice()

Array.prototype.slice() 方法可以将一个数组复制到另一个数组中。该方法接受两个参数,第一个参数为开始复制的位置,第二个参数为结束复制的位置,不包括结束复制的位置。如果只有一个参数,那么将从开始复制到一个元素。

let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(2); // [3, 4, 5]
let newArr = arr.slice(2, 4); // [3, 4]

2. 使用 Array.prototype.concat()

Array.prototype.concat() 方法可以将一个数组的所有元素复制到另一个数组中。该方法接受多个参数,可以是一个或多个数组,也可以是普通的值。这些参数将被添加到新数组的尾部。

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let newArr = arr1.concat(arr2); // [1, 2, 3, 4, 5, 6]

3. 使用 Array.from()

Array.from() 方法可以将类数组对象和可迭代对象转换为真正的数组。该方法接受两个参数,第一个参数为要转换的对象,第二个参数为一个函数,用于处理每个元素。

let arrLike = {0: 'a', 1: 'b', length: 2};
let newArr = Array.from(arrLike); // ['a', 'b']
let newArr = Array.from(arrLike, x => x + '!'); // ['a!', 'b!']

4. 使用 Array.prototype.map()

Array.prototype.map() 方法可以将一个数组中的所有元素映射到另一个数组中。该方法接受一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。

let arr = [1, 2, 3];
let newArr = arr.map(x => x * 2); // [2, 4, 6]

5. 使用 ES6 的解构赋值

ES6 中的解构赋值可以用来将一个数组的所有元素复制到另一个数组中。该方法接受一个数组作为参数,并将其中的每个元素赋值给另一个数组。

let arr = [1, 2, 3];
let [a, b, c] = arr; // a = 1, b = 2, c = 3

6. 使用 ES6 的扩展运算符

ES6 中的扩展运算符可以将一个数组的所有元素复制到另一个数组中。该方法接受一个数组作为参数,并将其中的每个元素添加到另一个数组中。

let arr = [1, 2, 3];
let newArr = [...arr]; // [1, 2, 3]

7. 使用 for 循环

使用 for 循环可以将一个数组的所有元素复制到另一个数组中。该方法接受一个数组作为参数,并使用 for 循环将其中的每个元素添加到另一个数组中。

let arr = [1, 2, 3];
let newArr = [];
for (let i = 0; i < arr.length; i++) {
  newArr.push(arr[i]);
} // [1, 2, 3]

8. 使用 for...of 循环

使用 for...of 循环可以将一个数组的所有元素复制到另一个数组中。该方法接受一个数组作为参数,并使用 for...of 循环将其中的每个元素添加到另一个数组中。

let arr = [1, 2, 3];
let newArr = [];
for (let item of arr) {
  newArr.push(item);
} // [1, 2, 3]
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。