骨干找到收集

时间:2013-08-02 11:42:43

标签: javascript backbone.js collections

我知道从单个属性

中查找集合中模型的方法
   var musketeers = friends.where({job: "Musketeer"});

但如果我想通过两个属性进行当代查找并返回单个结果? 我的想法是一次找到单个属性,然后连接两个结果:

   var name = friends.where({name: "stefano"});
   var surname = friends.where({surname: "maglione"});

并在连接结果后。

我需要因为我正在编码搜索功能,以便根据名字和姓氏找人。 但是还有另一个问题:如果用户在姓名之后和姓氏之后插入,反之亦然?

2 个答案:

答案 0 :(得分:0)

Collection.where实际上接受多个属性:

  

其中 collection.where(attributes)
  返回集合中与传递的属性匹配的所有模型的数组   适用于filter的简单案例。

您可以将您的请求写为

var found = friends.where({
    name: "stefano",
    surname: "maglione"
});

请参阅http://jsfiddle.net/nikoshr/kuLYE/了解演示

答案 1 :(得分:0)

您也可以使用filter方法来实现它

var musketeers = friends.filter(function(friend) {
     return friend.get('job') === stefano' && friend.get('surname') === 'maglione';
});