2016-03-21 3 views
0

У меня есть набор данных в базовой модели, как показано ниже.Пытается использовать фильтр подчеркивания для добавления определенного набора атрибутов

“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); 
     }); 

но нужно извлечь все родительские объекты, имеющие значение события в «утро» в них.

Не знаете, как это сделать, используя метод фильтрации? Предполагая, что нет лучшего способа сделать это, используя другой метод в подчеркивании.

+1

Пожалуйста, пост реальный, синтаксически правильный код - т.е. не умные кавычки, но нормальные JS объекта буквального обозначения (фигурные скобки и т.д.) – Tomalak

+0

Это поможет моему ответу. –

+0

Что вы имеете в виду * родительские объекты * ..? Я не вижу вложенных объектов ... –

ответ

0

Если вы предпочитаете более простой вариант, попробуйте:

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

Для всех, кто сталкивается с тем же, что и я, здесь есть ответ.

var mornings = _.filter(cal, function(item){ 
       return item.event == 'morning'; 
      }); 
Смежные вопросы