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);

本文介绍如何使用JavaScript的splice()方法在数组中添加或删除元素,特别强调了此方法会改变原始数组。通过对比正反例,文章详细解释了在循环中使用splice()时的常见陷阱及解决方案,推荐使用倒序循环法避免数组长度变化导致的错误。
1748





