我习惯使用骨干网where
中的Collections
方法。但我不知道如何获取此结果:
MyCollection.Group[x].id
正如您所猜测的那样,MyCollection
是集合,Group
是一个数组,而id
是我想要为特定值匹配的字段,例如:
MyCollection.findWhere(Group[x].id: 34);
我看过"包含" underscore
的功能,但它似乎不适用于关联数组
有没有办法做到这一点,还是应该使用Javascript手动解析集合?
答案 0 :(得分:9)
Collection.where和Collection.findWhere是简单过滤器的便捷功能。在您的情况下,您将使用更复杂的Collection.find
(代理到_.find)
查找 _.find(list,iterator,[context])
查看列表中的每个值,返回通过真值测试的第一个值 (迭代器)。一旦找到可接受的函数,函数就会返回 元素,并没有遍历整个列表。
如果我理解你的情况,它可能看起来像
MyCollection.find(function(model) {
return _.findWhere(model.get('Group'), {id: 34});
})
答案 1 :(得分:0)
你可以选择使用jQuery .find()。请参阅此处的示例:http://api.jquery.com/find/