JavaScript splice()方法在循環中只刪除一部分解決方法

splice()方法用於在數組中添加或刪除。(注意:此方法會改變原始數組);

代碼示例如下:

var arr = [{name:'Tom',sex:0},{name:'Jerry',sex:1},{name:'Danny',sex:1},{name:'Jenny',sex:0},{name:'Bob',sex:1},{name:'John',sex:0}];
	for(var i = 0; i < arr.length; i++){
		if(arr[i].sex == 1){
			arr.splice(i, 1);
		}
	}
	console.log(arr);

解決方法如下:

倒序循環法:

var arr = [{name:'Tom',sex:0},{name:'Jerry',sex:1},{name:'Danny',sex:1},{name:'Jenny',sex:0},{name:'Bob',sex:1},{name:'John',sex:0}];
	for(var i = arr.length-1; i >= 0; i--){
		if(arr[i].sex === 1 || arr[i].name == "Lee"){
			arr.splice(i,1);
		}
	}
	console.log(arr);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章