concat方法不会修改原数组,而是返回一个由当前数组与一个或多个参数拼接后的新数组;支持合并多个数组或单个值,仅浅层合并、不扁平化嵌套结构,现代开发中常被扩展运算符替代。

concat 方法不会修改原数组,而是返回一个由当前数组与一个或多个参数拼接后的新数组。
基本用法:合并两个数组
调用数组的 concat 方法,传入另一个数组作为参数,即可生成新数组:
- const arr1 = [1, 2];
- const arr2 = [3, 4];
- const newArr = arr1.concat(arr2); // [1, 2, 3, 4]
一次合并多个数组或值
concat 支持传入多个参数,可以是数组、单个值,甚至混合使用:
- const a = [1];
- const b = [2, 3];
- const c = [4];
- const result = a.concat(b, c, 5, 6); // [1, 2, 3, 4, 5, 6]
注意嵌套数组不会被扁平化
concat 只做一层合并,遇到嵌套数组会保留其结构:
立即学习“Java免费学习笔记(深入)”;
- [1].concat([2, [3, 4]]); // [1, 2, [3, 4]]
- 如需深度扁平化,需配合 flat() 或递归处理
替代方案:展开运算符更直观
现代写法常用扩展运算符(...),语义更清晰,也支持任意可迭代对象:
- const newArr = [...arr1, ...arr2, 5, 6];
- 它和 concat 效果一致,但可读性更强,推荐在支持 ES2015+ 的环境中优先使用


















