2013-09-06 2 views
-2
["2013 Sea Ray 190 Sport", 
    "2013 Sea Ray 205 Sport", 
    "2013 Sea Ray 210 SLX", 
    "2013 Sea Ray 220 Sundeck", 
    "2013 Sea Ray 220 Sundeck Outboard"] 

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

["2013 Sea Ray 190 Sport", 
    "2013 Sea Ray 205 Sport"] 

Как я могу это сделать, используя underscore.js?

+3

Вы смотрели на underscore.js функции массива документации Это базовое. –

+0

Сначала сначала задайте вопросы. Пожалуйста, поделитесь кодом, который вы пробовали до сих пор. – Boaz

+0

мой список называется именами. newList = _.pluck (имена, 'Sport'); 'но до сих пор он возвращает null. – user2754616

ответ

1

подчеркивания с использованием раствора _.filter

var data = ["2013 Sea Ray 190 Sport", 
    "2013 Sea Ray 205 Sport", 
    "2013 Sea Ray 210 SLX", 
    "2013 Sea Ray 220 Sundeck", 
    "2013 Sea Ray 220 Sundeck Outboard"]; 

var result = _.filter(data, function(string) { 
    return string.indexOf('Sport') != -1; 
}); 
1

Вы хотите JavaScript?

function sift(element) { 
    return element.match(/sport/); 
} 

var arr = ["spam", "spam", "nice sport", "bad sport", "spam"]; 
var filtered = arr.filter(sift); 
alert(filtered); 

остерегайтесь @ комментарий, он не будет работать в моей прекрасной IE :(

+0

Пожалуйста, уточните предел совместимости вашего решения. Использование underscore.js by OP делает альтернативное более совместимое решение очевидным. –

0
// like this: 
Array.prototype.filterbystr = function (str) { 
    var out = []; 
    for (var i = 0, l = this.length; i < l; i++) { 
     if (Object.prototype.toString.call(this[i]) === "[object String]") { 
      (this[i].indexOf(str) !== -1) 
      && out.push(this[i]); 
     } 
    } 
    return out; 
}; 
[ 
    "2013 Sea Ray 190 Sport", 
    "2013 Sea Ray 205 Sport", 
    "2013 Sea Ray 210 SLX", 
    "2013 Sea Ray 220 Sundeck", 
    "2013 Sea Ray 220 Sundeck Outboard" 
].filterbystr("Sport"); 
// 
// ["2013 Sea Ray 190 Sport", "2013 Sea Ray 205 Sport"] 
// 
Смежные вопросы