Estoy tratando de eliminar el elemento de la matriz usando .filter () - Patrón inmutable
const drinks = ['Cola', 'Lemonade', 'Coffee', 'Water']; const id = 'Coffee'; const idx = drinks.indexOf(id); const removedDrink = drinks[idx]; const filteredDrinks = drinks.filter((drink, index) => drink !== idx);Pero el problema que tengo es que tengo error como este
const idx: número Esta condición siempre devolverá 'verdadero' ya que los tipos 'cadena' y 'número' no se superponen
Con la devolución de llamada de .filter , el primer argumento es el valor que se repite y el segundo argumento es el índice que se repite. TypeScript le advierte correctamente que comparar el idx , un número, con uno de los elementos de la matriz, una cadena, no tiene sentido.
indexOf es completamente superfluo de todos modos aquí. Solo usa
const drinks = ['Cola', 'Lemonade', 'Coffee', 'Water']; const id = 'Coffee'; const filteredDrinks = drinks.filter(drink => drink !== id);