一、使用concat()方法進行數組合併
數組合併是編程中經常用到的操作,es6的數組合併提供了多種選擇。最簡單的方式是使用concat()方法。concat()有一個特點,它不會改變原有數組,而是返回一個新的合併後的數組。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = arr1.concat(arr2);
console.log(arr3); // [1, 2, 3, 4, 5, 6]
拆分上述代碼,可以看出:
第1行和第2行是定義了兩個數組;
第3行是將兩個數組合併成一個新數組,並將其賦值給arr3;
第4行是輸出合併後的數組。
除了能夠合併兩個數組,我們還可以用concat()一次合併多個數組:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [7, 8, 9];
const arr4 = arr1.concat(arr2, arr3);
console.log(arr4); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
在上述代碼中,arr1、arr2、arr3是待合併數組,arr4是合併後的結果。
二、使用…運算符進行數組合併
除了使用concat()方法,我們還可以使用…運算符進行數組合併,這種方式相對來說更為簡潔。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4, 5, 6]
上述代碼很簡單,arr3中通過解構的方式將arr1和arr2兩個數組合併成了一個新數組。
除了能夠合併兩個數組,…運算符還可以用來合併多個數組:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [7, 8, 9];
const arr4 = [...arr1, ...arr2, ...arr3];
console.log(arr4); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
這段代碼和上一個示例代碼是相似的,只是將arr1、arr2、arr3都解構到一個新數組中。
三、使用Array.from()方法進行數組合併
除了concat()和…運算符,使用Array.from()方法也可以合併數組。Array.from()方法可以將類似數組或可遍歷對象轉換成數組,所以我們可以先將兩個數組轉為類似數組,再使用concat()方法合併它們。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = Array.from(arr1).concat(Array.from(arr2));
console.log(arr3); // [1, 2, 3, 4, 5, 6]
在上述代碼中,先使用Array.from()將arr1和arr2轉為類似數組,然後將它們合併為arr3。
四、使用.push()方法進行數組合併
我們還可以使用Array.prototype.push()方法合併數組,但是這種方法需要先定義一個數組,然後再push。這種方法對於需要臨時合併數組的情況比較適用。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr1Length = arr1.length;
for (let i = 0; i < arr2.length; i++) {
arr1[arr1Length + i] = arr2[i];
}
console.log(arr1); // [1, 2, 3, 4, 5, 6]
在上述代碼中,arr1Length獲取了arr1數組的長度,然後動態往arr1數組中添加arr2中的元素,最後得到了合併後的數組。
五、使用.reduce()方法進行數組合併
最後一個方法是使用reduce()方法。reduce()方法是數組中最常用的方法之一,它可以累加數組中的元素,並輸出總值。
const arr = [[1, 2], [3, 4], [5, 6]];
const flattenArr = arr.reduce((acc, val) => acc.concat(val), []);
console.log(flattenArr); // [1, 2, 3, 4, 5, 6]
在上述代碼中,reduce()方法接收兩個參數。第一個參數是一個函數,第二個參數是acc.reduce(累加器)。這個例子中我們讓數組中的每個子數組concat到一個 acc 變數中去,並賦初始值為 []。
以上就是es6的數組合併方法,它們可以互相轉換使用或者根據具體場景自由選擇。無論哪種方法,都能夠輕鬆地將多個數組合併成一個新數組,讓我們更加方便地操作數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219659.html