我正在处理一个JavaScript对象数组,如下所示:
var IssuesArray = [{"ID" : "1", "Name" : "Issue1"},
{"ID" : "2", "Name" : "Issue2"},
{"ID" : "3", "Name" : "Issue3"}];
我的最终工作是当我知道对象的ID时尝试从数组中删除对象。我尝试使用类似这样的代码:
$.grep(IssuesArray, function(n, i) {
return i != $.inArray("2", IssuesArray);
});
因此,这表明我正在尝试使用jQuery grep通过index(i)删除元素,我正在尝试使用jQuery inArray检索该元素。当然,上面的代码将不起作用,因为“2”应该对应于数组中的一个项目,这些项目都是JavaScript对象(对象永远不会等于“2”)。我需要类似的东西:
$.inArray(javascriptObject.Name=="2", IssuesArray);
有没有人曾经成功地使用inArray来获取JavaScript对象的索引,使用对象中的字段值?有什么帮助吗?
**更新/澄清:**有几个人被我的问题弄糊涂了,但我收到了一个有效的答案。我正在使用:
IssuesArray = $.grep(IssuesArray, function(n) {
return n.ID != "2";
});
我想我想得太深了,而解决方案真的很容易。我只是想从数组中删除一个JavaScript对象,只要我知道该对象中特定属性的值。上面的解决方案使用jQuery的grep返回数组中的所有内容,除了ID ==“2”的对象。像往常一样,感谢您的快速回答。有几个答案是很好的解决方案,并且可以使用(例如使用“splice”),但这个解决方案似乎是最短最直接的。
4条答案
按热度按时间ioekq8ef1#
n
是你的列表项,所以像这样的东西应该可以完成这项工作:bmvo0sr52#
我不确定我是否正确理解了你的问题,但我会这样做:
vyswwuz23#
ohfgkhjo4#
不使用jQuery或其他框架: