(1)删除指定下标的item
arr.splice(index,1);
(2)删除对象数组中具有指定属性的多个item
let arr = [
{id:1,name:'Tom',sex:0},
{id:2,name:'Jerry',sex:1},
{id:3,name:'Danny',sex:1},
{id:4,name:'Jenny',sex:0},
{id:6,name:'Lee',sex:0},
];
for(let i=0;i<arr.length-1;i++){
if(arr[i].sex===1){
arr.splice(i,1);
}
}
console.log(arr);
arr = [
{id:1,name:'Tom',sex:0},
{id:3,name:'Danny',sex:1},
{id:4,name:'Jenny',sex:0},
{id:6,name:'Lee',sex:0},
]
这样的话知识单纯的删掉了下标是2的符合sex=1的item,其余的并没与删掉
这样我们采用倒叙的方法
let arr = [
{id:1,name:'Tom',sex:0},
{id:2,name:'Jerry',sex:1},
{id:3,name:'Danny',sex:1},
{id:4,name:'Jenny',sex:0}
];
for(let i=arr.length-1;i>=0;i--){
if(arr[i].sex === 1){
arr.splice(i,1);
}
}
这样我们得到的arr就是
arr = [
{id:1,name:'Tom',sex:0},
{id:4,name:'Jenny',sex:0}
]
目前只找到了这样简单的方法