Backbone.js 如何在主干js中搜索对象数组

Backbone.js 如何在主干js中搜索对象数组,backbone.js,Backbone.js,如何在主干js中搜索对象数组。集合包含人员模型。 [{ name: "John", age: "18", likes: { food: "pizza", drinks: "something", } }, ...... ] 我怎样才能找到喜欢某样东西的人呢。 我确实试过收集 由于您的食物属性位于人物属性的对象中,因此使用where默认情况下只查看平面属性

如何在主干js中搜索对象数组。集合包含人员模型。
 [{
        name: "John",
        age: "18",
        likes: {
            food: "pizza",
            drinks: "something",
        }
     },
     ......
    ]

我怎样才能找到喜欢某样东西的人呢。 我确实试过收集

由于您的食物属性位于人物属性的对象中,因此使用where默认情况下只查看平面属性是行不通的。您可以使用filter方法对集合中的所有项应用真值测试,并仅获取通过的项

在您发布的代码中,看起来并没有主干,只有一个规则的对象数组

因为下划线在页面上,所以您可以使用它来帮助筛选列表

var people =  [
   {
      name: "John",
      age: "18",
      likes: {
         food: "pizza",
         drinks: "something",
      }
   },
   ......
];

var likesPizza = _.filter(people, function(person) {
   return person.likes.food === "pizza";
});
如果它实际上是主干集合,则可以使用

this.collection.filter(people, function(person) {
   return person.get('likes').food === "pizza";
});