js合並數組的方法


我們可以使用push將元素追加到數組中。push接受可變數量的參數,我們可以一次推送多個元素。但是,如果我們傳遞一個數組來推送,它實際上會將該數組作為單個元素添加,而不是單獨添加元素,我們最終得到一個數組內的數組。

 

1             let arr1 = [1, 2, 3];
2             let arr2 = ['a', 'b'];
3             arr1.push(arr2);
4             console.log(arr1);//[1, 2, 3, Array(2)]

concat可以合並數組,但它並不附加到現有數組,而是創建並返回一個新數組。

            let arr1 = [1, 2, 3];

            let arr2 = ['a', 'b'];

            let arr3 = arr1.concat(arr2);

            console.log(arr1);//[1, 2, 3]

            console.log(arr3);//[1, 2, 3, "a", "b"]

apply()方法調用一個具有給定this值的函數,以及作為一個數組(火類似數組對象)提供的參數。

            let arr1 = [1, 2, 3];

            let arr2 = ['a', 'b'];

            arr1.push.apply(arr1, arr2);

            console.log(arr1);//[1, 2, 3, "a", "b"]

apply()允許在某些本來需要寫成遍歷數組變量的任務中使用內建的函數。比如Math.max/Math.min來找出一個數組中的最大/最小值。需要注意的是:當對一個方法傳入非常多的參數(比如10000個)時,很可能會導致越界問題。

let numbers=[5,6,2,3,1];
let max=Math.max.apply(null,numbers);//6
let min=Math.min.apply(null,numbers);//1

 


免責聲明!

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



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