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

Ответы
Аватар пользователя Roman Ashikov
Roman Ashikov
28 октября 2021

Правильным способом удаления элемента из массива будет использование метода splice(). Этот метод принимает три аргумента, но нам нужны только первые два из них. Это индекс начиная с которого мы хотим удалить элементы. А также количество элементов, которые будут удалены из массива. Взгляните на пример ниже:

const letters = ["a", "b", "c"];
const index = 1;
array.splice(index, 2);
console.log(letters); // => [ 'a' ]
0 0
Аватар пользователя Виктория Аблаева
Виктория Аблаева
18 октября 2022

Часто бывает в задачах, что нам требуется удалить из массива определенный элемент.
Один из способов - это воспользоваться функцией высшего порядка filter:

// К примеру, дан массив из чисел:
const numbers = [1, 2, 3, 4, 5];

//необходимо удалить элемент, который равен трём.
const numberToDelete = 3;

//фильтруем исходный массив. 
//А для того, чтобы его не мутировать, присвоим его в новую переменную.
const filteredNumbers = numbers.filter((number) => number !== numberToDelete);
console.log(filteredNumbers); // => [1, 2, 4, 5]

//Готово!

Также есть самый явный способ для удаления элемента массива с помощью ключевого слова delete:

let fruits = ['banana', 'orange', 'apple'];

//Допустим, что нам нужно удалить нулевой элемент массива.
delete fruits[0];
console.log(fruits); // => [ <1 empty item>, 'orange', 'apple' ]

Обратите внимание, что на месте нулевого элемента осталось пустое место. Как правило, удалять элемент массива таким способом не является хорошей практикой. Данный способ приведен в качестве примера.

Если вам нужно удалить последний элемент массива, для этого есть способ - это метод pop(). Перейдём к примеру:

const fruits = ['banana', 'orange', 'apple'];
fruits.pop();
console.log(fruits); // получаем => [ 'banana', 'orange' ]

Но это еще не всё!
Одним из наиболее удобных методов для удаления элемента массива является метод splice():

const names = ['John', 'Darina', 'Mark', 'Kris']; 
//допустим, что дан массив имён.
// Нам необходимо удалить из массива второй элемент.
names.splice(2, 1); // начиная со второго элемента удаляем один элемент
console.log(names); // => [ 'John', 'Darina', 'Kris' ]

Это не все способы удаления элементов из массива, но и среди указанных можно найти метод по душе или же придумать что-то свое.

Документация:

0 0
Добавьте ваш ответ

Рекомендуемые курсы

полифиллы
AJAX
события
селекторы
20 часов
Посмотреть
состояние
JSX
компоненты
производительность
26 часов
Посмотреть
Алгоритмы сортировки
Структуры данных
Бинарный поиск
Жадные алгоритмы
11 часов
Посмотреть