concat() 方法用于合并两个或多个数组。 此方法不会更改现有数组,而是返回一个新数组。
使用 concat 方法组合两个数组
Concatenation 意思是将元素连接到尾部。
同理,JavaScript 为字符串和数组提供了concat(Array.prototype.concat()
)方法。
对数组来说,在一个数组上调用 concat 方法,然后提供另一个数组作为参数添加到第一个数组末尾。
它返回一个新数组,不会改变任何一个原始数组。
简单的例子:
1
|
[1, 2, 3].concat([4, 5, 6]); // [1, 2, 3, 4, 5, 6]
|
复杂的例子:
1
2
3
4
5
6
7
8
9
|
function nonMutatingConcat(original, attach) {
return original.concat(attach)
}
const first = [1, 2, 3];
const second = [4, 5];
nonMutatingConcat(first, second); // [1, 2, 3, 4, 5]
|
使用 concat 而不是 push 将元素添加到数组的末尾
函数式编程就是创建和使用具有不变性的函数。
concat 方法,是一种在不改变原始数组的前提下,将数组组合成新数组的方法。
将 concat 方法与 push 方法做比较。
push 将元素添加到调用它的数组的末尾,这样会改变该数组。
1
2
3
|
const arr = [1, 2, 3];
arr.push([4, 5, 6]);
console.log(arr); // [1, 2, 3, [4, 5, 6]]
|
concat 方法可以将新项目添加到数组末尾,而不产生副作用
1
2
3
4
5
6
7
8
9
|
function nonMutatingPush(original, newItem) {
return original.concat(newItem);
}
const first = [1, 2, 3];
const second = [4, 5];
nonMutatingPush(first, second); // [1, 2, 3, 4, 5]
|