js实现一维数组合并
合并一维数组的几种方法
使用 concat 方法concat 方法用于合并两个或多个数组,返回一个新数组而不修改原数组。
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const mergedArray = array1.concat(array2);
console.log(mergedArray); // 输出: [1, 2, 3, 4, 5, 6]
使用扩展运算符 (...)
扩展运算符可以将多个数组展开并合并为一个新数组。
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const mergedArray = [...array1, ...array2];
console.log(mergedArray); // 输出: [1, 2, 3, 4, 5, 6]
使用 push 方法(会修改原数组)push 方法可以将另一个数组的元素逐个添加到目标数组中,但会修改原数组。
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
array1.push(...array2);
console.log(array1); // 输出: [1, 2, 3, 4, 5, 6]
使用 Array.from 结合 concat
如果需要对类数组对象(如 arguments)进行合并,可以先用 Array.from 转换。
const array1 = [1, 2, 3];
const arrayLike = { 0: 4, 1: 5, 2: 6, length: 3 };
const mergedArray = array1.concat(Array.from(arrayLike));
console.log(mergedArray); // 输出: [1, 2, 3, 4, 5, 6]
合并数组并去重
如果需要合并数组并去除重复项,可以使用 Set 数据结构。

const array1 = [1, 2, 3];
const array2 = [2, 3, 4];
const mergedArray = [...new Set([...array1, ...array2])];
console.log(mergedArray); // 输出: [1, 2, 3, 4]
性能比较
concat和扩展运算符 (...) 适合不修改原数组的场景。push适合需要直接修改原数组的情况。- 去重合并时,
Set是最简洁高效的方式。
选择方法时需根据具体需求决定是否修改原数组及是否需要去重。






