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() 合并