Изучение общих случаев использования синтаксиса JavaScript Spread (…)
22 февраля 2023 г.Оператор расширения Javascript позволяет расширять массив, строку или другой итерируемый объект в местах с нулем или более аргументов (для вызовов функций) или элементов. Синтаксис для этого три точки (…)
В этой статье я объясню варианты использования оператора распространения в JavaScript, так что давайте сразу к нему.
Случаи использования
Добавление элементов существующего массива в новый массив
let newarr = ["Red", "Yellow"];
let otherarr = ["Blue", ...newarr, "Green"]
console.log(otherarr); // ["Blue", "Red", "Yellow", "Green"];
Итак, давайте объясним, что здесь происходит, newarr — это массив, содержащий две строки Red и Yellow, тогда второй массив otherarr содержит две строки и новый. Обычно, когда мы добавляем этот массив без оператора трех периодов, он добавляет новый массив в другой массив. Но поскольку у нас есть оператор распространения, он добавит элемент массива в другой массив.
Вы можете передавать элементы массива в качестве аргументов функции
function addThreeNumbers(x,y,z){
return x+y+z;
}
let args = [1,2,3];
addThreeNumbers(...args); // 6
Другой вариант использования заключается в том, что вы можете передать элемент массива как функцию. в приведенном выше примере у нас есть функция addThreeNumbers с тремя параметрами x,y,z, которые возвращают сумму этих трех чисел. Теперь у нас есть массив с тремя значениями 1,2,3. В обычном состоянии мы можем передать функции три аргумента, но с помощью оператора расширения мы просто передаем массив с помощью оператора с тремя точками (…), который будет распространять массив на каждый элемент функции.
Примечание. Если у нас есть четвертый элемент в массиве, он будет игнорировать четвертый элемент в массиве, как в примере ниже.
function addThreeNumbers(x,y,z){
return x+y+z;
}
let args = [1,2,3,4];
addThreeNumbers(...args); // 6
.
Копировать массивы
let arr1 = [1,2,3];
let arr2 = [...arr1]
Если у нас есть arr1, мы можем использовать оператор распространения, чтобы скопировать массив во второй массив.
Объединить массив
let arr1 = [1,2,3];
let arr2 = [5,6,7];
arr1.concat(arr2); // [1,2,3,5,6,7]
arr1 = [...arr1 ...arr2]; // [1,2,3,5,6,7]
Еще один вариант использования — мы можем объединять массивы вместе, как обычно мы это делаем, используя метод concat для объединения массивов. С помощью оператора расширения мы также можем объединять массивы.
Также опубликовано здесь.
Ведущий образ создан со стабильной диффузией.
Оригинал