数组合并的多种方法

271 阅读1分钟
var arr1 = [1, 2, 3];    var arr2 = ["a","a,"b","c"];

1.concat

var arr = arr1.concat(arr2);

Array对象提供的concat()方法,连接两个或更多的数组,并返回一个新数组,原数组不变。 但当我们需要连接多个数组的时候,效率很低,会造成很大的内存浪费,所以这个方法肯定不是最好的。

2.es6的扩展运算符

arr = [...arr1,...arr2]
console.log(arr) 

这个方法不会改变原数组的内容,返回新数组。

3.通过for循环

for(let i in arr1){
    arr2.push(arr[i]);
}
console.log(arr2)

这样写性能相对来说要高一点,但很丑

4.map()

arr1.map(item=>{
    arr2.push(item) 
 });
  console.log(arr2)

这样写性能相对来说要高一点,但是也会改变数组本身的值,这样看起来逼格高一点啦~~~

5.apply

arr1.push.apply(arr1,arr2);   
console.log(arr1) 

调用arr1.push这个函数实例的apply方法,同时把,arr2当作参数传入,这样arr1.push这个方法就会遍历arr2数组的所有元素,达到合并的效果。也会改变数组本身的值