我正在使用 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 按索引 (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”的任何对象。和往常一样,感谢您的快速答复。有几个答案是很好的解决方案,并且可以使用(例如使用“拼接”),但这个解决方案似乎是最短最直接的。