splice----删除数组中指定下标的元素;删除对象数组中具有指定属性的多个item

(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}
	]

目前只找到了这样简单的方法

猜你喜欢

转载自blog.csdn.net/Sunny_lxm/article/details/97130894