Как удалить определенный элемент массива JavaScript?

В JavaScript удалить элемент массива можно несколькими способами. К ним относятся способы pop и shift. Способ pop удаляет первый элемент из заданного массива. Способ shift удаляет последний элемент из заданного массива.

Можно задать длину массива 0, если требуется удалить все элементы из данного массива. Но что, вам необходимо удалить определенный элемент?

Например:

Array_name.splice(index);

Или

Array_name.delete[index]

Можно легко использовать способ splice. Он возвращает новый массив удаленных элементов. А первоначальный массив включает оставшиеся элементы.

Посмотрите приведенную ниже демо-версию, чтобы узнать, как использовать способ JavaScript splice и иные методы удаления определенных элементов.

Демонстрация удаления конкретного элемента с использованием способа splice

В данной демо-версии создается массив чисел. Первоначально в массив добавляются пять элементов. После этого используется способ splice для удаления третьего элемента. Таким же образом в JavaScript можно без труда удалить первый элемент массива.

Элементы числового массива выводятся до и после использования способа JavaScript splice следующим образом:

Как удалить определенный элемент массива JavaScript? Посмотреть онлайн демо-версию и программный код

Код JavaScript с способом splice:

<script type="text/javascript">var Arr_Numbers = [10,20,30,40,50];var i;var the_arr_before_after = "The original array: <BR>";for(i=0; i < Arr_Numbers.length; i++){ the_arr_before_after += Arr_Numbers[i] + "<BR>"; } document.getElementById("p1").innerHTML = the_arr_before_after;Arrretrun = Arr_Numbers.splice(2,1);var the_arr_before_after = "Array elements after splice method: <BR>";for(i=0; i < Arr_Numbers.length; i++){ the_arr_before_after += Arr_Numbers[i] + "<BR>"; } document.getElementById("p2").innerHTML = the_arr_before_after;</script>

Вы заметили, что я использовал для JavaScript удаления элемента массива два параметры. Первый указывает индекс элемента, который необходимо удалить. Второй – сколько элементов необходимо удалить после указанного ключа.

В следующей демо-версии показан случай, когда мы используем второй настройка.

Что делать, если второй настройка не указан в JavaScript-методе splice?

Использование того же кода, но без второго параметры в способе splice:

Arr_Numbers.splice(2);

Программный код и результат:

Как удалить определенный элемент массива JavaScript? Посмотреть онлайн демо-версию и программный код

Как видите, здесь были удалены и все элементы перед указанным номером индекса. Кроме этого способ splice возвращает массив удаленных элементов.

Программный код JavaScript:

<script type="text/javascript">var Arr_Numbers = [10,20,30,40,50];var i;var the_arr_before_after = "The original array: <BR>";for(i=0; i < Arr_Numbers.length; i++){ the_arr_before_after += Arr_Numbers[i] + "<BR>"; } document.getElementById("p1").innerHTML = the_arr_before_after;Arrretrun = Arr_Numbers.splice(2);var the_arr_before_after = "Array elements after splice method: <BR>";for(i=0; i < Arr_Numbers.length; i++){ the_arr_before_after += Arr_Numbers[i] + "<BR>";    }    document.getElementById("p2").innerHTML = the_arr_before_after;//Удаленные элементы массива в возвращаемом массивеvar the_arr_before_after = "The removed array elements: <BR>";for(i=0; i < Arrretrun.length; i++){    the_arr_before_after += Arrretrun[i] + "<BR>";    }    document.getElementById("p3").innerHTML = the_arr_before_after;</script>

Использование возможности delete для удаления элемента массива

Также, чтобы в JavaScript удалить элемент массива, можно использовать возможность delete. Но она сохраняет пустое место, и если вы вернете этот массив после использования возможности, то удаленный элемент будет отображен как undefined.

Рассмотрим демо-версию, в которой используется функцию delete:

Как удалить определенный элемент массива JavaScript? Посмотреть онлайн демо-версию и код

Код JavaScript:

<script type="text/javascript">var Arr_Strings = ['The','JavaScript','Array','Totorial'];var i;var the_arr_before_after = "The original string array elements: <BR><BR>";for(i=0; i < Arr_Strings.length; i++){    the_arr_before_after += Arr_Strings[i] + "<BR>";    }    document.getElementById("p1").innerHTML = the_arr_before_after;//Использование возможности deletedelete Arr_Strings[2];var the_arr_before_after = "Array elements after splice method: <BR><BR>";for(i=0; i < Arr_Strings.length; i++){    the_arr_before_after += Arr_Strings[i] + "<BR>";    }    document.getElementById("p2").innerHTML = the_arr_before_after;</script>

Вы видите, что для третьего элемента выводится undefined после его удаления при помощи возможности delete.

Примечание. Вы должны указать номер индекса в квадратных скобках.

Чтобы в JavaScript удалить элемент массива, рекомендуется использовать splice. Способ delete может привести к возникновению сложностей по мере того, как число undefined элементов будет увеличиваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *