Как вставить элемент в массив на нужную позицию
Короткий ответ
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 — Добавляет элементы в начало массива.