最近做項目遇見個問題,代碼執行不完,但是代碼沒有錯誤,原因是對象數組循環刪除其中某一項對象
原因就在於當你刪除一個數據的時候,這個數組的個數已經發生了變化,接下來的遍歷就很有可能出現crash,除非是你運氣好,刪除的是最后的一個數據。
采用新建一個空數組,將需要刪除的數據存在里面,然后在新數組里面遍歷循環刪除舊數組中的數據
T.each(that.fileDD, function (i, file) {
console.warn(22221);
if(file.check==1){
that.array.push(file.id);
}
});
for(var i=0;i<that.array.length;i++){
that.remove(that.array[i]);
}