请你告诉我合并两个数组,你有多少种方法
2018-04-19 本文已影响3人
魏永_Owen_Wei
合并两个数组是一个很简单的需求,但是很多人只知道concat方式。今天我帮大家总结一下合并数组的常见方式。
01
常见的方法
1.concat
这是每一个JavaScript入门程序员都知道的方法,使用方式如下:
let arr1 = [1,2];
let arr2 = [3,4];
console.log(arr1.concat(arr2));
image.png
1.for循环push添加
let arr1 = [1,2];
let arr2 = [3,4];
arr2.forEach(x=>arr1.push(x));
console.log(arr1);
image.png
一些刚接触JavaScript的同学可能会写成这种循环:
let arr1 = [1,2];
let arr2 = [3,4];
for (let i =0; i<arr2.length;i++){
arr1.push(arr2[i])
}
console.log(arr1);
image.png
结果都是一样的,对ES6不了解的同学可以参考小专栏ES6小册子。
02
不太常见的方法
1.map
map方法在这里其实只是起到了遍历数组的作用。
let arr1 = [1,2];
let arr2 = [3,4];
arr2.map(x=>arr1.push(x));
console.log(arr1);
image.png
既然map只是起到了遍历数组的作用,那么其他能做到遍历数组的方法例如every,filter也是可以的。
let arr1 = [1,2];
let arr2 = [3,4];
arr2.every(x=>arr1.push(x));
arr2.filter(x=>arr1.push(x));
console.log(arr1);
image.png
2.扩展运算符
扩展运算符是ES6的新功能,它的作用是把对象或数组的元素展开。这也给合并数组提供了一个及其简便的范式。
let arr1 = [1,2];
let arr2 = [3,4];
arr1 = [...arr1,...arr2]
console.log(arr1);
image.png
有其他方式,欢迎你给我留言。