Как извлекать значения из массива в JavaScript
Для извлечения конкретных значений из массива в JavaScript можно использовать методы Array.prototype.filter()
и Array.prototype.includes()
. Вот, как это можно сделать:
const pull = (arr, ...args) => {
let argState = Array.isArray(args[0]) ? args[0] : args;
let pulled = arr.filter((v) => !argState.includes(v));
arr.length = 0;
pulled.forEach((v) => arr.push(v));
};
Функция pull
принимает массив и один или несколько аргументов, которые представляют значения, которые нужно удалить. Затем функция создает новый массив, фильтруя значения, указанные с использованием Array.prototype.filter()
. Затем она изменяет исходный массив, сбросив его длину до 0
и заполняя его только извлеченными значениями с использованием Array.prototype.push()
.
Вот пример, как можно использовать функцию pull
:
let myArray = ["a", "b", "c", "a", "b", "c"];
pull(myArray, "a", "c"); // myArray = [ 'b', 'b' ]
В этом примере функция pull
удаляет все вхождения 'a'
и 'c'
из массива myArray
и возвращает новый массив только с значениями 'b'
и 'b'
.