使用underscore.js的_.where函数查找多个字符串

4

假设我有这个对象数组。

var initialData = [{Title:"Hat",Price:49.95},
                   {Title:"Pants",Price:78.25},                 
                  {Title:"Shirt",Price:12.34}];

我知道可以使用_.where函数查找Title = "Hat"的对象。
// underscore method
console.log( _.where(initialData, {Title:"Hat"}));

但是如果我想查找所有 Title = "Hat" 或 "Shirt" 的对象怎么办?

能否使用相同的 _.where 函数来实现?

提前致谢。


4
这种情况下,你应该使用_.filter - Simon Boudrias
1个回答

7

谢谢Simon。我按照你的建议做了,下面的代码可以工作。

var initialData = [{Title:"Hat",Price:49.95},
                   {Title:"Pants",Price:78.25},                 
                  {Title:"Shirt",Price:12.34}];

var match=['Hat', 'Shirt'];

//underscore method
console.log( _.filter(initialData, function(num){ return _.contains(match,num.Title) }));

谢谢


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接