dr.Brain

doctor Brain

мир глазами веб-разработчика

JavaScript: slice и splice

управляем элементами массива в JavaScript

dr.Brain

время чтения 2 мин.

Photo by Ivan Torres on Unsplash

Всем известно про методы slice и splice глобального объекта Array. Один из них - slice возвращает копию части исходного массива, другой - splice изменяет содержимое исходного массива удаляя и добавляя элементы.

let arr = [1, 2, 3, 4, 5];
let sliceArr = arr.slice(1, 2);

arr.splice(1, 2, ...sliceArr);
console.log(arr);

К какому результату приведет выполнение кода, приведенного выше?

Итак, как уже говорилось ранее, метод slice вернет уменьшенную копию исходного массива arr. Он принимает два параметра:

  1. start - индекс элемента, с которого начнется новый массив,
  2. end - индекс элемента, на котором новый массив закончится, при этом сам элемент с указанным индексом в новый массив включен не будет.

    let arr = [1, 2, 3, 4, 5]; // [1, 2, 3, 4, 5]
    let sliceArr = arr.slice(1, 2); // [2]
    

Таким образом, новый массив будет содержать только один элемент.

Следует помнить, что метод slice не изменяет исходный массив, в то время как splice модифицирует именно исходный массив.

Следующим шагом мы применяем метод splice, которому передаем три параметра:

arr.splice(1, 2, ...sliceArr);

Это означает, что:

  1. начиная с элемента с индексом 1,
  2. мы удаляем 2 элемента: то есть удаляем элементы со значениями 2 и 3, и получаем массив [1, 4, 5]
  3. после чего, начиная с элемента с индексом 1, вставляем деструктурированный ...sliceArr массив, содержащий только одно значение - 2, получая итоговый массив [1, 2, 4, 5].

    let arr = [1, 2, 3, 4, 5];
    let sliceArr = arr.slice(1, 2); // 2
    
    arr.splice(1, 2, ...sliceArr); // 1, 2, 4, 5
    console.log(arr);
    

Итак, на экран консоли будет выведен массив, состоящий из четырех элементов [1, 2, 4, 5].


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.