concat
方法作为一种将数组组合成新数组而不改变原始数组的方法。将concat
与push
方法进行比较。 Push
将一个项添加到调用它的同一个数组的末尾,这会改变该数组。这是一个例子: var arr = [1,2,3];
arr.push([4,5,6]);
// arr更改为[1,2,3,[4,5,6]]
//不是函数式编程方式
Concat
提供了一种在数组末尾添加新项目而无任何变异副作用的方法。 nonMutatingPush
函数,使其使用concat
将newItem
添加到original
结尾而不是push
。该函数应返回一个数组。 concat
方法。
testString: assert(code.match(/\.concat/g));
- text: 您的代码不应使用push
方法。
testString: assert(!code.match(/\.push/g));
- text: 第first
数组不应该改变。
testString: assert(JSON.stringify(first) === JSON.stringify([1, 2, 3]));
- text: second
数组不应该改变。
testString: assert(JSON.stringify(second) === JSON.stringify([4, 5]));
- text: 'nonMutatingPush([1, 2, 3], [4, 5])
应该返回[1, 2, 3, 4, 5]
。'
testString: assert(JSON.stringify(nonMutatingPush([1, 2, 3], [4, 5])) === JSON.stringify([1, 2, 3, 4, 5]));
```