publicando por primera vez, básicamente haciendo el proyecto Odin Ejercicio 04 - ejercicio removeFromArray:
https://github.com/TheOdinProject/javascript-exercises/tree/main/04_removeFromArray
Tengo que pasar la primera prueba, sin embargo, no tengo idea de cómo escribir el programa para tratar con múltiples argumentos opcionales. Sé que necesito usar ...arg, pero realmente no entiendo cómo comenzar o qué hacer, o la construcción general de la función, ¿alguien puede ayudarme a entender cómo hacer esto? A continuación se muestra un intento muy pobre de mi parte que no funciona (ni siquiera estoy seguro de si mi lógica es correcta para obtener el resultado deseado):
const removeFromArray = function (array1, ...args) { if (args == 3) { array1.splice(2, 1); return array1; } else if (args == 3 || args == 2) { array1.splice(2, 1); return array1.splice(1,1); } }; console.log(removeFromArray([1, 2, 3, 4], 3, 2));Cualquier ayuda o consejo sobre cómo hacer esto sería muy apreciado. ¡Gracias!
args es una matriz de argumentos. Entonces, solo necesita filtrar la array original y filtrar los elementos que están en los argumentos de la args :
function removeFromArray(array, ...args) { return array.filter(x => !args.includes(x)) }; console.log(removeFromArray([1, 2, 3, 4], 3, 2));te dio:
[1, 4]args es una matriz, por lo que puede hacer un bucle a través forEach y eliminar elementos de su array1
const removeFromArray = function (array1, ...args) { args.forEach((arg) => { const index = array1.indexOf(arg); if (index > -1) array1.splice(index, 1); }); return array1; }; console.log(removeFromArray([1, 2, 3, 4], 3, 2, 5));