如何在forEach循环中从数组中删除元素?
- 论坛
- 如何在forEach循环中从数组中删除元素?
11 浏览
如何在forEach循环中从数组中删除元素?
我试图在一个forEach
循环中删除数组中的一个元素,但是我遇到了一些问题,无法解决。
这是我目前尝试的代码:
review.forEach(function(p){ if(p === '\u2022 \u2022 \u2022'){ console.log('YippeeeE!!!!!!!!!!!!!!!!') review.splice(p, 1); } });
我知道它进入了if
语句,因为我在控制台中看到了YippeeeeeE!!!!!!!!!!!!!
。
我的问题:我知道我的循环和条件逻辑没问题,但我尝试从数组中移除当前元素的操作失败了。
更新:
尝试了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语句,但很明显[• • •]仍然存在。