尝试使用下划线过滤器来添加特定的属性集

Trying to use underscore filter to extra a specific attribute set

我在 backbone 模型中有一个数据集,如下所示。

    “cal":[
{
  "event”:"com”,
  "method":”phone”
},
{
  "event":”morning”,
  "method":”phone”
},
{
  "event”:"afternoon”,
  "method":”phone”
},
{
  "event”:"evening”,
  "method”:”phone"
},
{
  "event”:"com”,
  "method":”SMS"
},
{
  "event”:"morning”,
  "method":”SMS”
},
{
  "event”:"afternoon”,
  "method":”SMS”
},
{
  "event”:"evening”,
  "method":”SMS"
},
{
  "event”:"com”,
  "method":”Email"
},
{
  "event”:"morning”,
  "method":”Email"
},
{
  "event”:"afternoon”,
  "method":”Email"
},
{
  "event”:"evening”,
  "method":”Email"
}
]

我想用_filter过滤

 _.filter(cal, function(item){
           console.log("item = ", item);
        });

但需要提取其中事件值为"morning"的所有父对象。

不确定如何使用过滤方法做到这一点?假设没有更好的方法可以使用下划线中的另一种方法来做到这一点。

对于遇到与我相同的人,这里就是答案。

var mornings = _.filter( cal, function(item){
                return item.event == 'morning';
            });

如果您更喜欢更简单的替代方案,请尝试:

var mornings = _.findWhere(cal, { event: 'morning' });