В 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()
. Выбор метода зависит от конкретной задачи.