/
Вопросы и ответы
/
JavaScript
/

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

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

4 года назад

Человек-Молекула

Ответы

6

Часто бывает в задачах, что нам требуется удалить из массива определенный элемент.
Один из способов - это воспользоваться функцией высшего порядка 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' ]

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

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

3 года назад

Виктория Аблаева

5

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

const letters = ["a", "b", "c"];
const index = 1;
letters.splice(index, 2);
console.log(letters); // => [ 'a' ]

4 года назад

Roman Ashikov

0

ппц, не думал что удалить элемент из массива по индексу со смещением в JS это такой ппц.

// удалить из массива значение по индексу со смещением // массив который обрабатываем, элемент в массиве который удаляем function array_splice( array, key ){ resoltArray = new Array(); // перебираем массив for( let i = 0; i < array.length; i++ ){ if( i != key ){ // добавляем значение в массив resoltArray.push( array[ i ] ); } } return resoltArray; } array = array_splice( array, key );

Зачем разрабы городили огород не понятно.

2 года назад