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

时间:2016-03-21 22:51:37

标签: backbone.js underscore.js

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

    “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"的所有父对象。在他们中。

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

2 个答案:

答案 0 :(得分:0)

对于任何与我在这里遇到同样问题的人都是答案。

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

答案 1 :(得分:0)

如果您更喜欢更简单的选择,请尝试:

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