从 JSON 对象中删除项目

5
我有一个json对象,需要遍历它:
obj = { '19': { id: '19', price: 5.55},
      '20': { id: '20', price: 10.00} }

$.each(obj, function(index, value){
  if(value.price < 5)
  {
   delete obj[index];
  }     

});

我希望在某些条件下,可以从对象中删除一个项目,与IT技术有关。 在这种情况下,如果价格少于5元。
我尝试使用delete,但它没有任何作用。

1
你的代码是正确的。(只是你没有任何价格小于5的商品) - ori
2个回答

9

如果值为< 5,则正常工作。在您的情况下,值为5.55,这是> 5

演示 - 当值为< 5时,显示对象已被删除


0

可能是jQuery做了一些你意想不到的奇怪事情。有点像PHP的foreach会创建原始数组的副本来处理。

尝试使用原生JS:

obj = {...};
for( var x in obj) {
    if( obj[x].price < 5) delete obj[x];
}

话虽如此,你对象的价格都不低于5,因此显然不会有任何一个被删除。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接