Sto cercando di rimuovere un elemento in un array in un forEach
ciclo, ma ho problemi con le soluzioni standard che ho visto.
Questo è quello che sto provando attualmente:
review.forEach(function(p){
if(p === '\u2022 \u2022 \u2022'){
console.log('YippeeeE!!!!!!!!!!!!!!!!')
review.splice(p, 1);
}
});
So che sta entrando nel if
perché lo vedo YippeeeeeE!!!!!!!!!!!!!
nella console.
IL MIO PROBLEMA: So che il mio ciclo for e la logica if sono valide, ma il mio tentativo di rimuovere l'elemento corrente dall'array fallisce.
AGGIORNARE:
Ho provato la risposta di Xotic750 e l'elemento non viene ancora rimosso:
Ecco la funzione nel mio codice:
review.forEach(function (item, index, object) {
if (item === '\u2022 \u2022 \u2022') {
console.log('YippeeeE!!!!!!!!!!!!!!!!')
object.splice(index, 1);
}
console.log('[' + item + ']');
});
Ecco l'output in cui l'array non è ancora stato rimosso:
[Scott McNeil]
[reviewed 4 months ago]
[ Mitsubishi is AMAZING!!!]
YippeeeE!!!!!!!!!!!!!!!!
[• • •]
Quindi ovviamente sta entrando nell'istruzione if come indicato, ma è anche ovvio che [• • •] è ancora lì.
index
attributo piuttosto che item
per il tuosplice
forEach
? Se desideri rimuovere elementi, la funzione più appropriata èfilter
.