Estoy tratando de eliminar un objeto de una matriz, pero no sé qué estoy haciendo mal.
Tengo esta matriz declarada:
listA: [ { title: 'Food', value: 'Patato' }, { title: 'Drink', value: 'Cola' }, { title: 'Desert', value: 'Cheesecake' }, ],Estoy tratando de eliminar el objeto donde su valor es 'Cola', lo que he intentado es esto:
this.listA.filter(x => x.value !== 'Cola');Y me devuelve la misma lista
Quiero devolver esto:
listA: [ { title: 'Food', value: 'Patato' }, { title: 'Desert', value: 'Cheesecake' }, ],Su código debería estar filtrando bien, creo que el problema aquí es que el filter no modifica la matriz original, devuelve una nueva matriz con los resultados filtrados. Si desea que sobrescriba la matriz original, deberá decir this.listA = this.listA.filter(...)
const listA = [ { title: "Food", value: "Patato" }, { title: "Drink", value: "Cola" }, { title: "Desert", value: "Cheesecake" }, ]; const result = listA.filter((obj) => obj.value !== 'Cola');Parece que tienes que hacer algo como
this.listA = this.listA.filter(x => x.value !== 'Cola')El método de filtro es inmutable, por lo tanto, la matriz original no cambia