我试图在 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 语句,但同样明显的是,[•••]仍然存在。