相见恨晚的loadsh函数-Util

作者: 小遁哥 | 来源:发表于2019-10-10 14:19 被阅读0次

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 , 除了它是降序生成值的。

相关文章

网友评论

    本文标题:相见恨晚的loadsh函数-Util

    本文链接:https://www.haomeiwen.com/subject/fnoopctx.html