我试图在使用 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
。请注意不要改变原意,并使翻译更加通俗易懂。 - Jon