iteratee source npm

_.iteratee([func=_.identity])

创建一个调用 func 的函数。 如果 func 是一个属性名,传入包含这个属性名的对象,回调返回对应属性名的值。 如果 func 是一个对象,传入的元素有相同的对象属性,回调返回 true。 其他情况返回 false

参数

  1. [func=_.identity] (*)

    转换成 callback 的值

返回值 (Function)

返回 callback.

示例

var users = [
  { 'user': 'barney', 'age': 36 },
  { 'user': 'fred',   'age': 40 }
];

// 创建一个自定义 iteratee
_.iteratee = _.wrap(_.iteratee, function(callback, func) {
  var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func);
  return !p ? callback(func) : function(object) {
    return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]);
  };
});

_.filter(users, 'age > 36');
// => [{ 'user': 'fred', 'age': 40 }]