Backbone.js 如何使用(查找)主干中的where来获取数组的特定字段
我使用主干中的Backbone.js 如何使用(查找)主干中的where来获取数组的特定字段,backbone.js,underscore.js,Backbone.js,Underscore.js,我使用主干中的集合中的where方法。但我不知道如何获得这个结果: MyCollection.Group[x].id 正如您所猜测的,MyCollection是集合,Group是数组,id是我希望为特定值匹配的字段,例如: MyCollection.findWhere(Group[x].id: 34); 我见过下划线的“contains”函数,但它似乎不适用于关联数组 有没有办法或者我们应该使用Javascript手动解析集合?您可以选择使用jQuery.find()。请参见此处的示例:和是
集合中的where
方法。但我不知道如何获得这个结果:
MyCollection.Group[x].id
正如您所猜测的,MyCollection
是集合,Group
是数组,id
是我希望为特定值匹配的字段,例如:
MyCollection.findWhere(Group[x].id: 34);
我见过下划线的“contains”函数,但它似乎不适用于关联数组
有没有办法或者我们应该使用Javascript手动解析集合?您可以选择使用jQuery.find()。请参见此处的示例:和是用于简单过滤器的方便函数。在您的情况下,您将使用更复杂的集合。find
(代理到)
find\uu.find(列表、迭代器、[context])
查看列表中的每个值,返回通过真理测试的第一个值
(迭代器)。函数在找到可接受的值后立即返回
元素,并且不会遍历整个列表
如果我没弄错你的情况的话
MyCollection.find(function(model) {
return _.findWhere(model.get('Group'), {id: 34});
})
你确定这不仅仅是为了DOM?我得到一个TypeError:无法读取未定义的的属性'nodeType'(MyCollection)。find({Group:{id:34})
jQuery的.find()
仅适用于DOM$.grep()
将是jQuery的正确答案。