在JavaScript編程中,經常需要將兩個或多個數組合併為一個數組。本文將介紹JavaScript數組合併的幾種方法。
一、concat()方法
1、concat()
方法可以把多個數組合併成一個數組,該方法不會改變原數組,而是返回一個新數組,它將新的元素添加到了原始數組的尾部。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = arr1.concat(arr2);
console.log(result); // [1, 2, 3, 4, 5, 6]
2、該方法還可以接受多個參數,不限數量。
let arr1 = [1, 2, 3];
let result = arr1.concat(4, 5, 6);
console.log(result); // [1, 2, 3, 4, 5, 6]
二、spread operator(擴展運算符)
1、ES6引入了spread operator,...
可以將數組拆解成個體元素。使用擴展運算符可以輕鬆地將多個數組合併為一個數組。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = [...arr1, ...arr2];
console.log(result); // [1, 2, 3, 4, 5, 6]
2、可以在新數組前面添加其他元素。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = ['start', ...arr1, ...arr2];
console.log(result); // ['start', 1, 2, 3, 4, 5, 6]
三、push()方法
1、push()
方法可以將其他數組添加到一個數組中,該方法會改變原數組。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
for (let i = 0; i < arr2.length; i++) {
arr1.push(arr2[i]);
}
console.log(arr1); // [1, 2, 3, 4, 5, 6]
2、該方法也可以接受多個參數,不限數量。
let arr1 = [1, 2, 3];
arr1.push(4, 5, 6);
console.log(arr1); // [1, 2, 3, 4, 5, 6]
四、unshift()和splice()方法
1、unshift()
方法可以將其他數組添加到一個數組的開頭,該方法會改變原數組。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
for (let i = arr2.length - 1; i >= 0; i--) {
arr1.unshift(arr2[i]);
}
console.log(arr1); // [4, 5, 6, 1, 2, 3]
2、splice()
方法也可以將其他數組添加到一個數組中,該方法會改變原數組。需要指定要插入的位置以及要插入的元素。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
arr1.splice(0, 0, ...arr2);
console.log(arr1); // [4, 5, 6, 1, 2, 3]
五、reduce()方法
1、reduce()
方法對數組中的所有元素執行一個指定操作,並將其結果累加到初始值上。
let arr = [
[0, 1],
[2, 3],
[4, 5]
];
let result = arr.reduce((a, b) => {
return a.concat(b);
}, []);
console.log(result); // [0, 1, 2, 3, 4, 5]
2、該方法的第二個參數是初始值,如果省略該參數,則默認使用第一個元素作為初始值。
let arr = [1, 2, 3];
let result = arr.reduce((a, b) => {
return a + b;
});
console.log(result); // 6
六、總結
JavaScript數組合併的幾種方法已經介紹完畢,合理選擇合併方法可以提高代碼效率、減少代碼量、提高代碼可讀性。concat()方法和spread operator是最常用的方法,也是最好記憶的方法。如果想要改變原數組,可使用push()和unshift()方法,如果想要在任意位置插入元素,使用splice()方法即可。最後,reduce()方法也是不錯的選擇。
原創文章,作者:BWMKN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/332520.html