Я пытаюсь удалить элемент массива в forEach
цикле, но у меня проблемы со стандартными решениями, которые я видел.
Вот что я сейчас пытаюсь:
review.forEach(function(p){
if(p === '\u2022 \u2022 \u2022'){
console.log('YippeeeE!!!!!!!!!!!!!!!!')
review.splice(p, 1);
}
});
Я знаю, что это происходит, if
потому что я вижу YippeeeeeE!!!!!!!!!!!!!
в консоли.
МОЯ ПРОБЛЕМА: я знаю, что мой цикл for и логика if работают, но моя попытка удалить текущий элемент из массива не удалась.
ОБНОВИТЬ:
Пробовал ответ Xotic750, и элемент все еще не удаляется:
Вот функция в моем коде:
review.forEach(function (item, index, object) {
if (item === '\u2022 \u2022 \u2022') {
console.log('YippeeeE!!!!!!!!!!!!!!!!')
object.splice(index, 1);
}
console.log('[' + item + ']');
});
Вот результат, в котором массив все еще не удален:
[Scott McNeil]
[reviewed 4 months ago]
[ Mitsubishi is AMAZING!!!]
YippeeeE!!!!!!!!!!!!!!!!
[• • •]
Таким образом, очевидно, что он входит в оператор if, как указано, но также очевидно, что [• • •] все еще там.
forEach
? Если вы хотите удалить элементы, наиболее подходящей функцией являетсяfilter
.