Lodash 中文文档 打开开发者工具,可以直接在控制台调试。
0 _.uniqueId([prefix=''])
生成唯一ID。 如果提供了 prefix ,会被添加到ID前缀上。
_.uniqueId('contact_');
// => 'contact_104'
_.uniqueId();
// => '105'
1 .times(n, [iteratee=.identity])
调用 iteratee n 次,每次调用返回的结果存入到数组中。 iteratee 调用入1个参数: (index)。
_.times(3, String);
// => ['0', '1', '2']
_.times(4, _.constant(0));
// => [0, 0, 0, 0]
2 _.attempt(func, [args])
合适场景中可以优雅的处理异常
尝试调用func,返回结果 或者 捕捉错误对象。任何附加的参数都会在调用时传给func。
// Avoid throwing errors for invalid selectors.
var elements = _.attempt(function(selector) {
return document.querySelectorAll(selector);
}, '>_>');
if (_.isError(elements)) {
elements = [];
}
3_.flow([funcs])
创建一个函数。 返回的结果是调用提供函数的结果,this 会绑定到创建函数。 每一个连续调用,传入的参数都是前一个函数返回的结果。
function square(n) {
return n * n;
}
var addSquare = _.flow([_.add, square]);
addSquare(1, 2);
_.flowRight
这个方法类似 _.flow
,除了它调用函数的顺序是从右往左的。
4 _.identity(value)
这个方法返回首个提供的参数。
var object = { 'a': 1 };
console.log(_.identity(object) === object);
// => true
_.nthArg
创建一个函数,这个函数返回第 n 个参数。如果 n为负数,则返回从结尾开始的第n个参数。
5 .over([iteratees=[.identity]])
创建一个函数,传入提供的参数的函数并调用 iteratees 返回结果。
var func = _.over([Math.max, Math.min]);
func(1, 2, 3, 4);
// => [4, 1]
6 .overEvery([predicates=[.identity]])
建一个函数,传入提供的参数的函数并调用 predicates 判断是否 全部 都为真值。
var func = _.overEvery([Boolean, isFinite]);
func('1');
// => true
func(null);
// => false
func(NaN);
// => false
7 .overSome([predicates=[.identity]])
创建一个函数,传入提供的参数的函数并调用 predicates 判断是否 存在 有真值。
var func = _.overSome([Boolean, isFinite]);
func('1');
// => true
func(null);
// => true
func(NaN);
// => false
8 _.range([start=0], end, [step=1])
创建一个包含从 start 到 end,但不包含 end 本身范围数字的数组。 如果 start 是负数,而 end 或 step 没有指定,那么 step 从 -1 为开始。 如果 end 没有指定,start 设置为 0。 如果 end 小于 start ,会创建一个空数组,除非指定了 step。
_.range(4);
// => [0, 1, 2, 3]
_.range(-4);
// => [0, -1, -2, -3]
_.range(1, 5);
// => [1, 2, 3, 4]
_.range(0, 20, 5);
// => [0, 5, 10, 15]
_.range(0, -4, -1);
// => [0, -1, -2, -3]
_.range(1, 4, 0);
// => [1, 1, 1]
_.range(0);
// => []
_.rangeRight
这个方法类似 _.range
, 除了它是降序生成值的。
网友评论