Para extraer valores específicos de un array en JavaScript, puedes utilizar los métodos Array.prototype.filter()
y Array.prototype.includes()
. Aquí te muestra cómo hacerlo:
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));
};
La función pull
toma un array y uno o más argumentos que representan los valores que se deben eliminar. Luego, la función crea un nuevo array filtrando los valores especificados utilizando Array.prototype.filter()
. A continuación, muta el array original reiniciando su longitud a 0
y repoblando solo con los valores extraídos utilizando Array.prototype.push()
.
Aquí te muestra un ejemplo de cómo utilizar la función pull
:
let myArray = ["a", "b", "c", "a", "b", "c"];
pull(myArray, "a", "c"); // myArray = [ 'b', 'b' ]
En este ejemplo, la función pull
elimina todas las ocurrencias de 'a'
y 'c'
del array myArray
y devuelve un nuevo array con solo los valores 'b'
y 'b'
.