我有一個數組,從中刪除某些元素的基礎上的某些條件,當我刪除元素我重新啓動循環,因爲索引刷新。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})',除非你有特殊的理由修改原始數組。 –