1

我知道从单个属性中查找集合中模型的方法,

   var musketeers = friends.where({job: "Musketeer"});

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

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

并在连接结果之后。

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

4

2 回答 2

0

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

var musketeers = friends.filter(function(friend) {
     return friend.get('job') === stefano' && friend.get('surname') === 'maglione';
});
于 2013-08-02T16:49:39.803 回答
0

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

where collection.where(attributes)
返回集合中与传递的属性匹配的所有模型的数组。对于filter
的简单情况很有用。

您可以将您的请求写为

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

有关演示,请参见http://jsfiddle.net/nikoshr/kuLYE/

于 2013-08-02T11:55:21.333 回答