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

MyCollection.Group[x].id

如您所料,MyCollection是集合,Group是一个数组,id是我要为特定值匹配的字段,例如:
MyCollection.findWhere(Group[x].id: 34);

我已经看到了underscore的“包含”功能,但是它似乎不适用于关联数组

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

最佳答案

Collection.whereCollection.findWhere是用于简单过滤器的便捷功能。在您的情况下,您将使用更复杂的Collection.find(代理给_.find)

查找 _.find(列表,迭代器,[上下文])
浏览列表中的每个值,返回第一个通过真相测试的值
(迭代器)。找到可接受的函数后立即返回
元素,并且不会遍历整个列表。

如果我正确理解您的病情,可能看起来像

MyCollection.find(function(model) {
    return _.findWhere(model.get('Group'), {id: 34});
})

09-25 16:38
查看更多