3

我曾经使用骨干网中的where方法Collections。但我看不到如何获取此结果:

MyCollection.Group[x].id

您可以猜到,MyCollection是集合,Group是数组,id是我想匹配特定值的字段,例如:

MyCollection.findWhere(Group[x].id: 34);

我见过的“包含”功能,underscore但它似乎不适用于关联数组

有没有办法做到这一点,或者我们应该使用 Javascript 手动解析集合?

4

2 回答 2

9

Collection.whereCollection.findWhere是简单过滤器的便利函数。在您的情况下,您将使用更复杂的Collection.find(代理为_.find

find _.find(list, iterator, [context])
查看列表中的每个值,返回第一个通过真值测试的值(迭代器)。该函数在找到可接受的元素后立即返回,并且不遍历整个列表。

如果我正确理解你的情况,它可能看起来像

MyCollection.find(function(model) {
    return _.findWhere(model.get('Group'), {id: 34});
})
于 2013-05-02T08:13:32.403 回答
0

你可以选择使用 jQuery .find() 。在此处查看示例:http: //api.jquery.com/find/

于 2013-05-02T07:10:57.800 回答