Я намагаюся видалити елемент з масиву в forEach
циклі, але у мене виникають проблеми зі стандартними рішеннями, які я бачив.
Це те, що я зараз намагаюся:
review.forEach(function(p){
if(p === '\u2022 \u2022 \u2022'){
console.log('YippeeeE!!!!!!!!!!!!!!!!')
review.splice(p, 1);
}
});
Я знаю, що це потрапляє if
через те, що я бачу YippeeeeeE!!!!!!!!!!!!!
в консолі.
МОЯ ПРОБЛЕМА: Я знаю, що мій цикл for і якщо логіка правильна, але моя спроба видалити поточний елемент з масиву не вдається.
ОНОВЛЕННЯ:
Випробував відповідь 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 за вказівкою, але також очевидно, що [• • •] все ще є.
index
атрибутом, а не item
для свогоsplice
forEach
? Якщо ви хочете видалити предмети, найбільш відповідна функціяfilter
.