DERZKY.RU
  • HTML/CSS
  • Windows
  • Linux
  • Программирование
  • WordPress
  • Блог
  • Разное
DERZKY.RU
  • HTML/CSS
  • Windows
  • Linux
  • Программирование
  • WordPress
  • Блог
  • Разное

Как удалить элемент из массива по значению на JavaScript

by maclay 19.05.2022
19 мая 2022 г. Обновлено 26 мая 2022 Главная Программирование

В данном туториале рассмотрим способы удаления элемента из массива по значению, используя методы splice() и filter() на JavaScript.

Удаление элемента из массива по значению используя метод splice() на JavaScript

Метод splice() позволяет добавлять, заменять или удалять элементы в массивах используя индекс. Поэтому, для начала нужно получить индекс элемента с помощью метода indexOf(), а затем, используя полученный индекс, удалить элемент из массива применив к нему метод splice().

Например, создадим массив с тремя строковыми элементами, а затем удалим один из них используя вышеупомянутые функции.

let myArray = ['one', 'two', 'three'];
let myIndex = myArray.indexOf('two');

if (myIndex !== -1) {
    myArray.splice(myIndex, 1);
}

console.log(myArray) // ["one", "three"]

Давайте разберемся. Метод indexOf() поочереди проверяет каждый элемент в массиве и возвращает индекс первого элемента, который равен искомому значению, если соответствие не найдено возвращает -1. Далее мы использовали инструкцию if, блок кода которой будет выполняться только при наличии искомого значения в массиве, то есть его индекс не будет равен -1. Если значение присутствует в массиве, к нему применяется метод splice(), который удалит 1 элемент начиная с индекса сохраненного в myIndex. После удаления элемента из массива, функция console.log() выведет в консоли измененный массив.

Мы так же можем удалить из массива больше одного элемента, смотрите спецификацию метода splice().

Удаление элемента из массива по значению используя метод filter() на JavaScript

Метод filter() создает новый массив, со всеми элементами, которые прошли проверку согласно заданной функции внутри filter(). В нашем случае мы создадим функцию, которая будет возвращать все элементы массива, за исключением того, которое мы хотим удалить, а результат будет сохранен в новом массиве.

Например, создадим такой же массив как в предыдущем примере и применим к нему метод filter():

let myArray = ['one', 'two', 'three'];
let newArray = myArray.filter(function(f) { return f !== 'two' });

console.log(newArray) // ["one", "three"]

В коде выше, мы удалили значение two из массива, а результат сохранили в переменную newArray, содержимое которой было выведено в консоли. При таком подходе исходный массив не изменился.

Отличие двух подходов

Используя методы indexOf() и splice(), из массива будет удален только первый найденный элемент, даже если в нем присутствует несколько элементов с одинаковым значением.

Использую метод filter(), будут отфильтрованы все элементы исходного массива и в новый массив сохранятся только те элементы, которые не равны значению заданному в функции.

JavaScript
0
FacebookVKTwitterPinterestTelegramEmail
предыдущая запись
Как в Windows 11 перенаправить ссылки Edge в сторонний браузер по умолчанию

Оставить комментарий Отменить ответ

Запомнить имя, email и адрес сайта

Последние записи

  • Как в Windows 11 перенаправить ссылки Edge в сторонний браузер по умолчаниюКак в Windows 11 перенаправить ссылки Edge в сторонний браузер по умолчанию
  • Запуск программыКак отключить предупреждение системы безопасности Windows при запуске исполяемых файлов
  • coinmon в терминалеКак следить за курсом Bitcoin и других криптовалют в терминале Windows/Linux
  • Плавная прокрутка по якорным ссылкамПлавная прокрутка по якорным ссылкам
  • CSS анимация с паузой между итерациямиCSS анимация с паузой между итерациями
  • Главная
  • HTML/CSS
  • Windows
  • Linux
  • Программирование
  • WordPress
  • Блог
  • Разное
  • Карта сайта

© 2018-2022 derzky.ru Все права защищены. Перепечатка запрещена.