Menu
Coddy logo textTech

Синтаксис Spread в массивах

Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 48 из 65.

Синтаксис расширения (...) позволяет итерируемому объекту, такому как массив, быть развернутым в местах, где ожидается ноль или более аргументов или элементов. Он предоставляет краткий способ выполнения таких операций, как объединение или копирование массивов.

Вот несколько распространенных вариантов использования:

1. Объединение массивов:

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];
console.log(combined); // [1, 2, 3, 4, 5, 6]

2. Создание поверхностной копии массива:

const original = [1, 2, 3];
const copy = [...original];
console.log(copy); // [1, 2, 3]

3. Добавление элементов в массив:

const numbers = [1, 2, 3];
const moreNumbers = [0, ...numbers, 4];
console.log(moreNumbers); // [0, 1, 2, 3, 4]

4. Передача элементов массива в качестве аргументов функции:

function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers)); // 6
challenge icon

Задание

Легко

Создайте функцию с названием mergeArr, которая принимает два массива чисел в качестве аргументов. Функция должна:

  1. Объединить два массива, используя оператор расширения (spread operator)
  2. Удалить все дубликаты чисел
  3. Вернуть результирующий массив

Шпаргалка

Синтаксис расширения (...) позволяет итерируемому объекту расширяться там, где ожидается ноль или более аргументов или элементов.

Объединение массивов:

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];
console.log(combined); // [1, 2, 3, 4, 5, 6]

Создание поверхностной копии:

const original = [1, 2, 3];
const copy = [...original];
console.log(copy); // [1, 2, 3]

Добавление элементов в массив:

const numbers = [1, 2, 3];
const moreNumbers = [0, ...numbers, 4];
console.log(moreNumbers); // [0, 1, 2, 3, 4]

Передача элементов массива в качестве аргументов функции:

function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers)); // 6

Попробуйте сами

function mergeArr(arr1, arr2) {
  // Напишите свой код здесь
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и поток