js中拼接多個數組的幾種方法


需求:將多個數組進行拼接

    const arr = [1, 2, 3, 4, ];
    let arr1 = [5, 6];
    let arr2 = [7, 8];
    // 最終的結果是:
    [1, 2, 3, 4, 5, 6, 7, 8]

方法1:concat

    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:不創建新數組

    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(推薦)

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

拼接兩個數組的時候推薦用這種方法

方法4:es6的寫法(推薦)
arr.push(...arr1, ...arr2)
console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]
拼接兩個及以上數組的時候推薦用這種方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM