扫码一下
查看教程更方便
_.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);
}