Как удалить элемент из массива JS: 5 способов

Удаление элементов массива из JS JavaScript

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

Удаление элемента из начала массива

JavaScript поставляется в комплекте с методом shift, который удаляет элемент из начала массива. Использование этого метода довольно простое. Все, что вам нужно сделать, это вызвать метод shift на вашем массиве, и он удалит первый элемент из вашего массива, т.е. элемент с нулевым индексом.

const numbers = [100, 101, 102, 103, 104, 105];
const num = numbers.shift();
console.log(num); // вывод: 100
console.log(numbers); // вывод: [101, 102, 103, 104, 105]

Он возвращает удаленный элемент и корректирует индексы для оставшихся элементов массива.

Если массив пуст, то просто возвращается значение undefined.

const numbers = [];
const num = numbers.shift();
console.log(num); // вывод: undefined

Удаление элемента из конца массива

Нам нужно использовать метод pop для удаления элемента из конца массива JavaScript. Метод pop работает аналогично методу shift, за исключением того, что он удаляет последний элемент массива и возвращает этот элемент.

const numbers = [100, 101, 102, 103, 104, 105];
const num = numbers.pop();
console.log(num); // вывод: 105
console.log(numbers); // вывод: [100, 101, 102, 103, 104]

Если рассматриваемый массив пуст, метод pop вернет неопределенное значение.

const numbers = [];
const num = numbers.pop();
console.log(num); // вывод: undefined

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

Метод splice можно использовать для удаления одного или нескольких элементов из указанного индекса массива. Для удаления элементов с помощью метода splice нам необходимо указать два аргумента. Первый аргумент – это индекс, с которого нужно начать удаление элементов, а второй аргумент – количество элементов, которые нужно удалить. Метод также принимает третий параметр, который позволяет добавлять новые элементы в массив. Однако в нашем случае это не понадобится, поскольку в данном примере мы заинтересованы только в удалении элементов.

Метод splice возвращает массив удаленных элементов. Если ни один элемент не был удален методом splice, он вернет пустой массив.

const numbers = [100, 101, 102, 103, 104, 105];
const partials = numbers.splice(1, 2);
console.log(partials); // вывод: [101, 102] console.log(numbers); // вывод: [100, 103, 104, 105]

В приведенном выше фрагменте кода мы начинаем удалять элементы с индекса 1, и мы будем удалять два элемента с индексами 1 и 2, то есть 101 и 102. Метод splice вернет эти элементы, которые будут храниться внутри переменной partials, а массив numbers будет содержать 100, 103, 104 и 105.

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

const numbers = [100, 101, 102, 103, 104, 105];
numbers.splice(1);
console.log(numbers); // вывод: [100]

Вы также можете указать отрицательные параметры, если хотите удалять элементы справа налево.

const numbers = [100, 101, 102, 103, 104, 105];
numbers.splice(-2, 2);
console.log(numbers); // вывод: [100, 101, 102, 103]

В приведенном выше коде метод splice начнет удаление элементов с индекса -2, т.е. со второго последнего элемента, и удалит 2 элемента, начиная с этой позиции, т.е. 104 и 105.

Удаление элементов с помощью оператора delete

Оператор delete удаляет элемент из массива по определенному индексу. Однако следует помнить, что оператор delete не изменяет длину массива. Он просто удаляет старое значение и заменяет его на undefined.

const numbers = [100, 101, 102, 103, 104, 105];
удаляем числа[2];
console.log(numbers); // выводим: [100, 101, undefined, 103, 104, 105].
console.log(numbers[2]); // вывод: неопределено
console.log(numbers.length); // вывод: 6

В приведенном выше фрагменте кода мы удаляем элемент с индексом 2. Оператор delete удалит значение этого элемента, заменив его на undefined. При этом длина чисел массива останется неизменной.

Удаление элементов из массива с использованием свойства length

Мы уже видели, как удалить последний элемент из массива с помощью метода pop. Но что если мы хотим удалить более одного элемента из конца массива? Мы можем сделать это, изменив свойство length этого массива.

const numbers = [100, 101, 102, 103, 104, 105];
numbers.length = 3;
console.log(numbers); // вывод: [100, 101, 102]

В приведенном выше фрагменте кода мы присваиваем свойству length массива numbers значение 3. Это приведет к удалению из массива всех элементов, чей индекс больше или равен 3.

Если мы хотим удалить все элементы массива, мы можем установить свойство length равным нулю.

const numbers = [100, 101, 102, 103, 104, 105];
numbers.length = 0;
console.log(numbers); // вывод: []

Итоги

Эта статья научила нас 5 способам удаления элементов из массива JavaScript с примерами кода. Надеюсь, вам понравилась эта статья, если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Оцените статью
Adblock
detector