Estoy tratando de eliminar un elemento de una matriz en un forEach
bucle, pero tengo problemas con las soluciones estándar que he visto.
Esto es lo que estoy intentando actualmente:
review.forEach(function(p){
if(p === '\u2022 \u2022 \u2022'){
console.log('YippeeeE!!!!!!!!!!!!!!!!')
review.splice(p, 1);
}
});
Sé que está entrando if
porque lo veo YippeeeeeE!!!!!!!!!!!!!
en la consola.
MI PROBLEMA: Sé que mi bucle for y si la lógica son correctos, pero mi intento de eliminar el elemento actual de la matriz está fallando.
ACTUALIZAR:
Probé la respuesta de Xotic750, y el elemento aún no se elimina:
Aquí está la función en mi código:
review.forEach(function (item, index, object) {
if (item === '\u2022 \u2022 \u2022') {
console.log('YippeeeE!!!!!!!!!!!!!!!!')
object.splice(index, 1);
}
console.log('[' + item + ']');
});
Aquí está la salida donde la matriz aún no se elimina:
[Scott McNeil]
[reviewed 4 months ago]
[ Mitsubishi is AMAZING!!!]
YippeeeE!!!!!!!!!!!!!!!!
[• • •]
Entonces, obviamente, va a entrar en la declaración if como se indica, pero también es obvio que el [• • •] todavía está allí.
index
atributo en lugar de item
para susplice
forEach
? Si desea eliminar elementos, la función más adecuada esfilter
.