Особенность массива javascript es6 [...data, 0] "оператор распространения"
Я сталкивался с этим в некотором примере кода, и я полностью потерян.
const addCounter = (list) => {
return [...list, 0]; // This is the bit I am lost on, and I don't know about [...list, 0]
}
Видимо, вышесказанное соответствует следующему:
const addCounter = (list) => {
return list.concat([0]);
}
Любое предложение или объяснение высоко ценится.
2 ответа
Решение
...list
использует синтаксис распространения, чтобы распространить элементы list
, Давайте предположим, что список [1, 2, 3]
, Следовательно [...list, 0]
будет выглядеть так:
[1, 2, 3, 0]
Который имеет тот же результат, что и делать list.concat([0]);
Это не особенность массива в ES6, он просто используется для конкатенации массивов. У этого есть другое использование. Узнайте больше о MDN или посмотрите этот вопрос.
...list
spread
s (выкладывает) все элементы в массиве list
,
так [...list, 0]
это все элементы списка с 0 в конце