在我操作数组的时候
this.Array.forEach((item) => {
if (item.data <= 0) {
this.del(item);
}
});
但是发现非常神奇,删除的话只会把一半不合格的删除掉
然后调看源码,发现,在foreach的过程中如果,第三个不合格删除之后,原来的第四个就变成了第三个,但是此时的第三个仍然可能不合格,但是foreach再遍历就是遍历此时的第四个就把第三个漏掉了
于是我用了基础for循环
for (let i = 0; i <= thisArray.length; i++) {
const item = this.Array[i];
if (item.data <= 0) {
this.del(item);
i--;
}
}
代码提交上去,大哥说,这样太面向过程,而且更改了原来的数组,不好于是
this.Array = this.Array.filter((item) => {
if (item.data > 0) {
return item;
}
});