我得到一个如下所示的对象数组:
var collection = [
{
name: 'hello',
color: 'blue'
},
{
name: 'world',
color: 'brown'
}, .... {thousands more}
];
使用下划线找出数组中任何的对象是否具有“name”键的值等于某个正则表达式的正确方法是什么?
_.contains(collection, '/goodbye/i'); <-- this won't work ->
如何告诉它使用'name'键进行搜索?
答案 0 :(得分:11)
你可以这样做:
filter = function (collection, key, regex) {
return _.filter(collection, function(obj){ return obj[key].match(regex);});
};