Estou tentando remover um elemento em uma matriz em um forEach
loop, mas estou tendo problemas com as soluções padrão que vi.
Isso é o que estou tentando no momento:
review.forEach(function(p){
if(p === '\u2022 \u2022 \u2022'){
console.log('YippeeeE!!!!!!!!!!!!!!!!')
review.splice(p, 1);
}
});
Eu sei que está entrando no if
porque estou vendo YippeeeeeE!!!!!!!!!!!!!
no console.
MEU PROBLEMA: Eu sei que meu loop for e se a lógica estão corretos, mas minha tentativa de remover o elemento atual do array está falhando.
ATUALIZAR:
Tentei a resposta do Xotic750 e o elemento ainda não foi removido:
Aqui está a função em meu código:
review.forEach(function (item, index, object) {
if (item === '\u2022 \u2022 \u2022') {
console.log('YippeeeE!!!!!!!!!!!!!!!!')
object.splice(index, 1);
}
console.log('[' + item + ']');
});
Aqui está a saída em que a matriz ainda não foi removida:
[Scott McNeil]
[reviewed 4 months ago]
[ Mitsubishi is AMAZING!!!]
YippeeeE!!!!!!!!!!!!!!!!
[• • •]
Obviamente, isso vai para a instrução if conforme direcionado, mas também é óbvio que o [• • •] ainda está lá.
index
atributo em vez do item
seusplice
forEach
? Se você deseja remover itens, a função mais adequada éfilter
.