我有一个数组,从中删除某些元素的基础上的某些条件,当我删除元素我重新启动循环,因为索引刷新。Javascript for loop跳过最后一个元素
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有两个元素都应该由剪接后却第一个元素删除被删除,最后一个是通过循环跳过。
任何想法我缺少
'k ++'在'k <'检查前运行,所以设置'k = -1'而不是 –
考虑使用'filter'代替:'this.j_data = this.j_data.filter(function(item){return !condition})',除非你有特殊的理由修改原始数组。 –