2

我得到一个看起来像这样的对象数组:

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

使用下划线找出数组中是否有任何对象的“名称”键值等于某个正则表达式的正确方法是什么?

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

如何告诉它使用“名称”键进行搜索?

4

1 回答 1

11

你可以这样做:

filter = function (collection, key, regex) {
    return _.filter(collection, function(obj){ return obj[key].match(regex);});
};
于 2012-10-24T20:04:47.357 回答