Удалить элемент массива в JavaScript: как найти и удалить в JS

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

Удаление элемента по индексу

Использование splice

Метод splice() изменяет исходный массив, удаляя элементы по индексу.

const numbers = [10, 20, 30, 40, 50];
numbers.splice(2, 1); // Удаляет элемент с индексом 2 (30)
console.log(numbers); // [10, 20, 40, 50]

Удаление нескольких элементов

const numbers = [10, 20, 30, 40, 50];
numbers.splice(1, 3); // Удаляет 3 элемента начиная с индекса 1
console.log(numbers); // [10, 50]

Удаление элемента по значению

Использование filter (без изменения исходного массива)

Метод filter() создает новый массив без указанного элемента.

const numbers = [10, 20, 30, 40, 50];
const newNumbers = numbers.filter(num => num !== 30);
console.log(newNumbers); // [10, 20, 40, 50]

Удаление нескольких значений

const numbers = [10, 20, 30, 40, 50];
const newNumbers = numbers.filter(num => num !== 20 && num !== 40);
console.log(newNumbers); // [10, 30, 50]

Удаление первого или последнего элемента

Удаление первого элемента — shift

Метод shift() удаляет первый элемент массива.

const numbers = [10, 20, 30];
numbers.shift();
console.log(numbers); // [20, 30]

Удаление последнего элемента — pop

Метод pop() удаляет последний элемент массива.

const numbers = [10, 20, 30];
numbers.pop();
console.log(numbers); // [10, 20]

Удаление элемента без изменения длины массива

Если нужно удалить элемент, но сохранить длину массива, можно заменить его на null или undefined.

const numbers = [10, 20, 30, 40];
numbers[2] = null;
console.log(numbers); // [10, 20, null, 40]

Или с delete, но он оставит пустое место (empty):

const numbers = [10, 20, 30, 40];
delete numbers[2];
console.log(numbers); // [10, 20, empty, 40]

Полное удаление всех элементов массива

Очистка массива

let numbers = [10, 20, 30];
numbers.length = 0;
console.log(numbers); // []

Удалить элемент из массива в JavaScript можно разными методами. Если важно изменить оригинальный массив, подходит splice, shift или pop. Если нужен новый массив без лишних элементов, удобнее использовать filter(). Выбор метода зависит от конкретной задачи.