BLACK FRIDAY

остался 1 день

Скидка 10% и подарок на выбор — при покупке одной программы
При покупке двух программ  — вторая со скидкой 50%

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

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

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

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

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

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

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

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

классы
инкапсуляция
контекст
прототипы
15 часов
Посмотреть
middlewares
redux-forms
actions
reselect
5 часов
Посмотреть
утверждения
jest
матчеры
юнит-тесты
14 часов
Посмотреть