扫码一下
查看教程更方便
_.iteratee(value, [context])
iteratee() 生成可应用于集合中的每个元素的回调。_.iteratee 支持许多常见回调用例的简写语法。根据值的类型,_.iteratee 将返回:
// 没有值
_.iteratee();
=> _.identity()
// 函数
_.iteratee(function(n) { return n * 2; });
=> function(n) { return n * 2; }
// 对象
_.iteratee({firstName: 'Chelsea'});
=> _.matcher({firstName: 'Chelsea'});
// 自定义
_.iteratee('firstName');
=> _.property('firstName')
通过 _.iteratee 转换判断的 Underscore 方法的完整列表是: countBy
, every
,filter
, find
, findIndex
, findKey
, findLastIndex
, groupBy
, indexBy
,map
, mapObject
, max
, min
, partition
, reject
, some
, sortBy
, sortedIndex
, 和 uniq
如果需要其他或不同的简写语法,可以使用自己的自定义函数覆盖 _.iteratee:
// 支持 `RegExp` 谓词简写。
var builtinIteratee = _.iteratee;
_.iteratee = function(value, context) {
if (_.isRegExp(value)) return function(obj) { return value.test(obj) };
return builtinIteratee(value, context);
}