【js】js拼接多个数组

方法1:concat
    const arr = [1, 2, 3, 4, ];
    let arr1 = [5, 6];
    let arr2 = [7, 8];
    const newArr = arr.concat(arr1).concat(arr2)
    console.log(newArr)// [1, 2, 3, 4, 5, 6, 7, 8]

newArr 是新数组,此时内存中存在arr,arr1,arr2,newArr 3个数组。
后面三个方法都不会创建新的数组


方法2:不创建新数组
    const arr = [1, 2, 3, 4, ];
    let arr1 = [5, 6];
    let arr2 = [7, 8];

    arr1.forEach(i => {
        arr.push(i)
    })
    arr2.forEach(i => {
        arr.push(i)
    })
    arr1 = null;
    arr2 = null;
    console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]

没有新的数组创建,对于内存来说更优。注意到结尾的arr1=null;arr2=null;拼接完成后将数组都清空。

方法3:apply(推荐)

    const arr = [1, 2, 3, 4, ];
    let arr1 = [5, 6];
    let arr2 = [7, 8];

    arr.push.apply(arr, arr1);
    arr.push.apply(arr, arr2);
    console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]

拼接两个数组的时候推荐用这种方法

方法4:es6的写法(推荐)

 const arr = [1, 2, 3, 4, ];
 let arr1 = [5, 6];
 let arr2 = [7, 8];

arr.push(...arr1, ...arr2)
console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]

拼接两个及以上数组的时候推荐用这种方法

你可能感兴趣的:(js,javascript,前端,vue.js)