繁体   English   中英

无法删除数组元素

[英]Unable to remove element of array

尝试了多种方法从数组元素中删除元素

我已经这样声明了一个数组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,它都不会从数组中删除它。

任何想法都将受到欢迎

只是改变

vehicleObj.splice(regNoPass, 1);

vehicleObj.splice(index, 1);

因为splice需要索引而不是值(否则就不需要遍历数组来找到该索引)。

请注意,如果您不需要保留相同的数组对象,则可以将整体表示为

vehicleObj = vehicleObj.filter(function(v){
     return v.regNo !== regNoPass;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM