Ahora estoy trabajando con matrices, pero si elimino el segundo elemento que elijo, el primero que eliminé sigue volviendo a su lugar. ¿Como puedo resolver esto?
Aquí está el código:
const fruits = ['Apple', 'Banana','Lemon', 'Guava']; const removeItem = (arr, item) => { let newArray = [...arr]; const index = newArray.findIndex((element)=>element===item) if(index !== -1){ newArray.splice(index, 1) return newArray } } console.log(removeItem(fruits, 'Guava')) console.log(removeItem(fruits, 'Lemon'))Producción:
(3) ['Apple', 'Banana', 'Lemon'] //I removed Guava (3) ['Apple', 'Banana', 'Guava'] //I removed LemonSu matriz original es const y no se puede actualizar. Entonces está usando todos los valores originales. Aquí hay una versión de trabajo que se elimina de la matriz original.
let fruits = ['Apple', 'Banana','Lemon', 'Guava']; const removeItem = (arr, item) => { let newArray = [...arr]; const index = newArray.findIndex((element)=>element===item) if(index !== -1){ newArray.splice(index, 1) fruits = newArray; return newArray } } console.log(removeItem(fruits, 'Guava')) console.log(removeItem(fruits, 'Lemon'))Palabras clave en las que pensar: pop empujar eliminar marcador de posición de índice No entiendo lo que está tratando de lograr. Bueno, nunca probé la guayaba.