尝试从数组元素中删除元素的方法很多
我已经声明了一个数组vehicleObj
var vehicleObj = [{
regNo: "XX09WP",
model: "Ford KA",
repaircost: "23.89",
typeRepair: "exhust"
}];
这是我的循环
vehicleObj.forEach(function(regNoPass,index){
console.log(regNoPass);
console.log("your in for each..");
if(vehicleObj[index].regNo == regNoPass)
{
console.log("Magic has happen");
vehicleObj.splice(regNoPass, 1);
}
});
无论regNoPass值是什么,即XX09WP,它都不会从数组中删除
任何想法都会受到欢迎
答案 0 :(得分:3)
只需更改
vehicleObj.splice(regNoPass, 1);
到
vehicleObj.splice(index, 1);
因为splice
需要索引而不是值(或者不需要遍历数组来查找索引)。
请注意,如果您不需要保留相同的数组对象,则整体可以表示为
vehicleObj = vehicleObj.filter(function(v){
return v.regNo !== regNoPass;
});