lodash的学习之旅

起初我想吐槽的后来发现这个东西有点屌就闷着头开始学习

(但是我还是要吐槽一下这个东西的官方文档,中文文档里你就不能用个汉字么)

官方介绍 :是一个一致性、模块化、高性能的 JavaScript 实用工具库。

它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,其中部分是目前ECMAScript尚未制订的规范,但同时被业界所认可的辅助函数(思考一下,这东西用久了我会不会把原生的忘掉???)

https://www.lodashjs.com/ 官方链接

学习中ing...

需要学习的概念  节流 延迟 柯里化  函数式编程 链式调用? Iteratee 

整体学完的话应该会需要很多时间,所以我准备先给常用的 数组 对象 字符串方法学学

Lodash的分类 :

Array (数组)

适合于数组类型,比如填充数据、查找元素、数组分片等操作

_.chunk(array, [size=1])   

数组切割 array 传入的数组,size 几个数据分一个

将数组 两两切割 返回一个新的数组
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
不够size的参数时  单独分一组
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]

_.compact(array)类似一个过滤器

删除了所有falsey值的数组,值falsenull0""undefined,和NaN是falsey

_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

_.concat(array, [values])数组连接

var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
 
console.log(other);
// => [1, 2, 3, [4]]
 
console.log(array);
// => [1]

Collocation(数组 对象 字符串)

适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作

Object(对象类型)

适用于对象类型,常用于对象的创建、扩展、类型转换、检索、集合等操作

String(字符串)

适用于字符串类型

Math(数字运算)

使用与数值类型,常用于执行数学运算

Number(生成随机数)

适用于生成随机数,比较数值与数值区间的关系

Lang(类型转换,执行类型)

普遍适用于各种类型,常用于执行类型判断和类型转换

Function(函数,节流延迟缓存 设置钩子)

适用于函数类型,比如节流、延迟、缓存、设置钩子等操作

Seq(链式调用?)

常用于创建链式调用,提高执行性能(惰性计算)

lodash/fp (函数式编程)

模块提供了更接近函数式编程的开发方法,其内部的函数经过包装,具有immutable、auto-curried、iteratee-first、data-last(官方介绍)等特点。

Fixed Arity(固化参数个数)

固化参数个数,便于柯里化

Rearragned Arguments(调整参数位置)

重新调整参数位置,便于函数之间的聚合

Capped Iteratee Argument(封装Iteratee参数)

封装Iteratee参数

猜你喜欢

转载自blog.csdn.net/qq_42711864/article/details/81511654