Способ № 1 — Удаление элемента массива со сдвигом
Есть массив:
let arr = [22, 33, 11, 77, 56, 39, 323]
Нам нужно удалить элемент со значением 77 и сдвинуть оставшуюся часть влево (ближе к началу).
Сделать это можно при помощи метода filter():
arr.filter(i => i != 77)
В фильтр мы передаём стрелочную функцию, в которой проверяем Нам вернётся новый массив, без элемента со значением 77. «Пустот или дыр» в массиве не будет.
Важно! Метод filter() не изменяет оригинальный массив. Он просто вызывается на оригинальном массиве, но возвращает всегда новый экземпляр. Это говорит о том, что вызов метода filter() никак не влияет на оригинальный массив.
Поэтому, чтобы изменить оригинальный массив, нужно написать выражение:
arr = arr.filter(i => i != 77)
Способ № 2 — использование оператора delete
Мы можем удалить значение элемента из массива при помощи оператора delete. Для этого мы пишем слово delete и справа от него пишем конструкцию, которая будет обращаться к нужному нам элементу массива. Стандарт ECMAScript — Раздел «13.5.1 The delete Operator» — https://tc39.es/ecma262/#sec-delete-operator
В нашем случае мы хотим удалить значение из первого элемента массива. Поэтому мы должны обратиться к индексу 0 (ноль).
var massiv = [1, 2, 3, 4] delete massiv[0] [empty, 2, 3, 4]
Из оригинального массива мы удалили нужное нам значение элемента, но теперь в массиве образовалась «дырка». Браузер нам подсвечивает эту дырку словом «empty«. Если сейчас попытаться обратиться к первому элементу массива, то мы получим undefined, т. к. такого значения элемента уже не существует.
Мы успешно удалили ЗНАЧЕНИЕ элемента массива. Причём удобно то, что все оставшиеся элементы массива не изменили своего положения. Значения лежат под теми же индексами.
Информационные ссылки
Стандарт ECMAScript — https://tc39.es/ecma262/multipage/
Стандарт ECMAScript — Раздел «23.1.3.8 Array.prototype.filter ( callbackfn [ , thisArg ] )» — https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.filter
Стандарт ECMAScript — Раздел «ReservedWord» (Зарезервированные слова) — https://tc39.es/ecma262/#prod-ReservedWord