var data = [{ isRemove: 0, name: "項目1" },{ isRemove: 1, name: "項目2" },{ isRemove: 1, name: "項目3" },{ isRemove: 0, name: "項目4" },{ isRemove: 0, name: "項目5" },{ isRemove: 0, name: "項目6" },{ isRemove: 1, name: "項目7" },{ isRemove: 1, name: "項目8" }];
需求是我們要刪除isRemove=1的項目。
有兩種解決方案:
?1、把有效的元素push進新數組 。
var newArray=[]; for (var i = 0; i < data.length; i++) {if(data[i].isRemove==0){newArray.push(data[i]);} } console.log(newArray);
?
?
?2、用逆向循環。?
?
for (var i = data.length - 1; i >= 0; i--) {if (data[i].isRemove==1) {data.splice(i, 1);}}
?
再推薦一個高效的寫法:
var i = data.length;while (i--) {if (data[i].isRemove==1) {data.splice(i, 1);}}
?
?
?
?
?
如果這篇文章對您有幫助,您可以打賞我
技術交流QQ群:15129679
?