js实现一维数组合并
合并一维数组的几种方法
使用 concat() 方法
concat() 方法用于合并两个或多个数组,返回一个新数组而不改变原数组。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const mergedArr = arr1.concat(arr2);
console.log(mergedArr); // [1, 2, 3, 4, 5, 6]
使用展开运算符(...)
ES6 的展开运算符可以简洁地合并数组。

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const mergedArr = [...arr1, ...arr2];
console.log(mergedArr); // [1, 2, 3, 4, 5, 6]
使用 push() 方法结合展开运算符
push() 可以修改原数组,结合展开运算符实现合并。

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
arr1.push(...arr2);
console.log(arr1); // [1, 2, 3, 4, 5, 6]
使用 Array.from() 和 reduce()
适合需要处理多个数组合并的场景。
const arrays = [[1, 2], [3, 4], [5, 6]];
const mergedArr = Array.from(arrays.reduce((acc, curr) => acc.concat(curr), []));
console.log(mergedArr); // [1, 2, 3, 4, 5, 6]
使用 flat() 方法
若数组成员是嵌套数组,flat() 可将其展平为一维。
const nestedArr = [[1, 2], [3, 4], [5, 6]];
const mergedArr = nestedArr.flat();
console.log(mergedArr); // [1, 2, 3, 4, 5, 6]
注意事项
- 性能考量:对于大数组,展开运算符和 concat() 性能较好,push() 在循环中可能较慢。
- 去重需求:若需合并后去重,可结合 Set 实现。
const arr1 = [1, 2, 3]; const arr2 = [3, 4, 5]; const uniqueArr = [...new Set([...arr1, ...arr2])]; console.log(uniqueArr); // [1, 2, 3, 4, 5]






