我有一个数组,根据一些条件删除某些元素。当删除元素后,由于索引重新排列,我需要重新开始循环。
var k;
for( k=0 ; k < this.j_data.length;k++){
if(condition === true){
this.j_data.splice(k, 1);
k = 0; // restart
}
}
我的数组this.j_data有两个元素,都应该通过splice删除,但是在删除第一个元素之后,循环跳过了最后一个元素。
有什么想法我错过了什么
k++
在k <
检查之前运行,所以请将k
设置为-1
。 - Jaromanda Xfilter
来代替:this.j_data = this.j_data.filter(function(item){return !condition})
。 - Yury Tarabanko