JQuery - 在特定成员变量设置为值的情况下搜索那些对象的对象列表?

时间:2014-04-01 18:01:05

标签: javascript jquery

说我有一个JS对象:

{categories : [{id:1, name:"foo", items:[{id:1, name="bar"},{id:2,name:"baz"]}]}

鉴于第一个类别(索引0)和一个项目ID,我希望能够找到项目名称。

在python中,我们可以做一些非常干净的事情,如:

x.name for x in categories[0].items where x.id = 1

在jQuery / JS中表达这个的最简洁,最简洁的方法是什么?

1 个答案:

答案 0 :(得分:2)

使用Array的{​​{3}}方法:

categories[0].items.filter( function(x){ return x.id == 1 });

编辑后编辑:

查找x = 1

项目的名称

categories[0].items.filter( function(x){ return x.id == 1 })[0].name;

如果您知道其中只有一个项目,或者您只想要第一个项目,或者将.filter.map合并以获取名称列表:

categories[0].items.filter( function(x){ return x.id == 1 }).map( function(x){ return x.name })

小提琴:filter