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