Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как вставить элемент в массив на нужную позицию

Короткий ответ

splice(index, 0, item) вставляет элемент на позицию, ничего не удаляя:

const letters = ['a', 'b', 'd'];
letters.splice(2, 0, 'c');
 
console.log(letters.join(', '));

Результат:

a, b, c, d

В начало

unshift() добавляет элементы в начало массива:

const queue = ['second', 'third'];
queue.unshift('first');
 
console.log(queue.join(', '));

Результат:

first, second, third

Не меняя исходный

toSpliced() работает как splice(), но возвращает новый массив:

const letters = ['a', 'b', 'd'];
const full = letters.toSpliced(2, 0, 'c');
 
console.log(letters.join(''), full.join(''));

Результат:

abd abcd

Частая ошибка

splice() возвращает удалённые элементы, а не новый массив. Если ничего не удалено, результат пустой:

const letters = ['a', 'b', 'd'];
const result = letters.splice(2, 0, 'c');
 
console.log(result.length);

Результат:

0

Функции из этого ответа

  • Array.prototype.splice — Удаляет, заменяет или вставляет элементы в середину массива.
  • Array.prototype.toSpliced — Возвращает копию массива с удалёнными, заменёнными или вставленными элементами.
  • Array.prototype.unshift — Добавляет элементы в начало массива.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.