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), "Your code should use the concat
method.");'
- text: Ваш код не должен использовать метод push
.
testString: 'assert(!code.match(/\.push/g), "Your code should not use the push
method.");'
- text: first
массив не должен меняться.
testString: 'assert(JSON.stringify(first) === JSON.stringify([1, 2, 3]), "The first
array should not change.");'
- text: second
массив не должен меняться.
testString: 'assert(JSON.stringify(second) === JSON.stringify([4, 5]), "The second
array should not change.");'
- 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]), "nonMutatingPush([1, 2, 3], [4, 5])
should return [1, 2, 3, 4, 5]
.");'
```