JS 中有多种方法可以将多个数组合并成一个数组。
1、使用 Array.prototype.concat() 合并:concat() 方法可以将多个数组合并成一个新数组。
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [7, 8, 9]; let mergedArr = arr1.concat(arr2, arr3); console.log(mergedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
2、使用扩展运算符 (...) 合并:扩展运算符可以将多个数组合并成一个新数组。
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [7, 8, 9]; let mergedArr = [...arr1, ...arr2, ...arr3]; console.log(mergedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
3、使用 Array.prototype.push.apply() 合并:push.apply() 方法可以将多个数组合并成一个新数组。
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [7, 8, 9]; let mergedArr = [].concat.apply([], [arr1, arr2, arr3]); console.log(mergedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
4、使用 Array.prototype.reduce() 合并: reduce() 函数可以用来构建新数组,将多个数组元素添加到新数组中。
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [7, 8, 9]; let mergedArr = [arr1, arr2, arr3].reduce((acc, cur) => acc.concat(cur), []); console.log(mergedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
5、使用 Array.prototype.forEach() 合并: forEach() 方法可以遍历多个数组,将元素添加到新数组中。
let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [7, 8, 9]; let mergedArr = []; [arr1, arr2, arr3].forEach(function(array) { array.forEach(function(element) { mergedArr.push(element); }); }); console.log(mergedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
6、使用第三方库 lodash 的 concat() 合并
7、使用第三方库 Ramda 的 concat() 合并
总结