2015-12-06 3 views
0

Я пытаюсь фильтровать массив в зависимости от введенного атрибута имени.фильтр в реальном времени с использованием underscorejs с массивом объектов?

var data = [ 
    {name: "Google"}, 
    {name: "Yahoo"} 
]; 

var search = function(letters){ 
     var pattern = new RegExp(letters,"gi"); 
     _.filter(function(data) { 
      return pattern.test(data.get("name")); 
     }); 
}; 

search("yah"); // should return {name: "Yahoo"} 

Это не работает для меня.

ответ

0

_.filter нужен первый аргумент, здесь являющийся ваш массив data и применяет функцию обратного вызова на каждом элементе data, я думаю, что это может выглядеть следующим образом:

search = function(letters){ 
     var pattern = new RegExp(letters,"gi"); 
     return _.filter(data, function(object) { 
      return pattern.test(object.name); 
     }); 
}; 
Смежные вопросы