Por favor chicos, este es un ejercicio (ejercicio 04) de Odin Project. No sé si hay algún problema con el código a continuación, sigue fallando la 'prueba npm' (una prueba en la terminal), pero luego lo verifiqué con console.log y funcionó.
const removeFromArray= function(...args) { const array = args[0]; const newArray = []; array.forEach((item) => { if(!args.includes(item)) { newArray.push(item); } }); return newArray; };Me parece que no he entendido muy bien la pregunta. Pero JS tiene funciones integradas que cumplen el propósito
Mapa de matriz https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
Filtro de matriz https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
Pero por lo que veo en el código, debe eliminar el primer elemento de la matriz.
Te sugiero que eches un vistazo a esta pregunta.
elimine el primer elemento de la matriz y devuelva la matriz menos el primer elemento
Sugeriría usar Array.filter() en combinación con Array.includes() para lograr el resultado requerido.
Filtramos cualquier elemento de la matriz de entrada si está presente en la matriz itemsToRemove .
function removeFromArray(array, itemsToRemove) { return array.filter(element => !itemsToRemove.includes(element)); } let array = [1,2,3,4,5,6]; let itemsToRemove = [2,4,6]; console.log(removeFromArray(array, itemsToRemove)) Podemos hacer esto de una manera más eficiente si itemsToRemove es muy grande, usando un Set :
function removeFromArray(array, itemsToRemove) { const itemsToRemoveSet = new Set(itemsToRemove); return array.filter(element => !itemsToRemoveSet.has(element)); } let array = [1,2,3,4,5,6]; let itemsToRemove = [2,4,6]; console.log(removeFromArray(array, itemsToRemove))