如何使用(查找)骨干中的位置来获取数组的特定字段

Lud*_*udo 3 backbone.js underscore.js

我用来使用骨干中的where方法Collections.但我不知道如何获取此结果:

MyCollection.Group[x].id
Run Code Online (Sandbox Code Playgroud)

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

MyCollection.findWhere(Group[x].id: 34);
Run Code Online (Sandbox Code Playgroud)

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

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

nik*_*shr 9

Collection.whereCollection.findWhere是简单过滤器的便利功能.在你的情况下,你会使用更复杂的Collection.find(代理_.find)

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

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

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