2012-10-24 48 views
2

我得到對象的數組,看起來像這樣:Underscore.js - 使用regexp查找對象鍵的值?

var collection = [ 
    { 
    name: 'hello', 
    color: 'blue' 
    }, 
    { 
    name: 'world', 
    color: 'brown' 
    }, .... {thousands more} 
]; 

什麼是使用下劃線來找出正確的方式,如果數組中的對象的任何具有價值的「名字」鍵等於一些正則表達式?

_.contains(collection, '/goodbye/i'); <-- this won't work ->

如何告訴它使用的「名字」鍵進行搜索?

+1

請使用源代碼 –

回答

11

你可以這樣做:

filter = function (collection, key, regex) { 
    return _.filter(collection, function(obj){ return obj[key].match(regex);}); 
};