微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用jQuery inArray和JavaScript对象数组

我正在使用一系列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”的任何对象。像往常一样,感谢您的快速答案。几个答案是很好的解决方案,并且可以使用(例如使用“拼接”),但这个解决方案似乎是最简单的。再次感谢。

解决方法

n是你的列表项,所以这样做应该做这个工作:
$.grep(issuesArray,function(n) { return n.ID != "2"; })

原文地址:https://www.jb51.cc/jquery/182487.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐