介绍
Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库。有多年编程开发经验的工程师往往都会有自己的一套工具库,习惯性的我们可能给会称utils,或者我本人喜欢用helpers,这些都是自己平时代码的一些积累或者说技术总结!Lodash恰恰是这样一种工具库,提供了一套函数式编程的实用功能。Github上star数接近40k,日npm安装量达百万级,不得不说它很受欢迎!
为什么选择 Lodash ?
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。其中部分是目前ECMAScript尚未制定的规范,但是被业界认可!
Lodash 的模块化方法 非常适用于:
- 遍历 array、object 和 string
- 对值进行操作和检测
- 创建符合功能的函数
Github
https://github.com/lodash/lodash
模块组成
以下是一些常用的模块(本文只是简单地介绍,因为其其方法太多,无法一一详述):
- Array
lodash一共包含了几十种适用于数组的方法,其中包括查找、填充、分片、拼接、过滤等非常实用的方法,虽然es6的一些新特性也能够实现一些方便的操作,但是还并不能够替代它,截图只是部分展示!
- Collection
Collection方法也不少,适用于对象、数组还包括部分字符串的功能
- Date
Date中包含的方法就一个,返回当前时间的时间戳,获得 Unix 纪元 (1 January 1970 00:00:00 UTC) 直到现在的毫秒数。
- Function
Function顾名思义包括了针对函数的方法,主要有节流、延迟、缓存、设置钩子等比较高级的用法
- Lang
lang的方法中,主要是用于各种类型之间的转换,它适用于各种类型
- Math
从名字就知道这是一个数学方法的集合,被用来做数学运算用
- Number
主要用在随机数生成、数值区间比较,一共三个方法
- Object
在es6中对对象进行了大量的扩展,特别是一些解构、析构的操作用起来真实爱不释手,lodash中方法更丰富,常用于对象的创建、扩展、类型转换、检索、集合等操作。
- Seq
优雅的链式用法,提高执行性能(惰性计算)
- String
很明显这是字符串的方法.
还有一些可玩性比较高的方法,具体的可以到官方文档中查看,不会让你失望,而且提供了最新的中文文档
https://www.lodashjs.com/docs/latest#
快速开始
- 浏览器
npm i -g npmnpm i lodashimport _ from 'lodash';
- Nodejs
// Load the full build.var _ = require('lodash');// Load the core build.var _ = require('lodash/core');// Load the FP build for immutable auto-curried iteratee-first data-last methods.var fp = require('lodash/fp');// Load method categories.var array = require('lodash/array');var object = require('lodash/fp/object');// Cherry-pick methods for smaller browserify/rollup/webpack bundles.var at = require('lodash/at');var curryN = require('lodash/fp/curryN');
总结
其实相信很多人都用过lodash,有人就用好用到爆来形容它,可见其实用性,以及被认可度,而且其代码的健壮性也是值得我们学习的,虽然es6的出现让很多特性得到了替代,但是还是有很多es6+也无法满足的,如果还没用过的小伙伴,强烈推荐使用!