Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库,内部封装了很多字符串、数组、对象等常见数据类型的处理函数。

 

为什么选择 Lodash ?

Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。Lodash 的模块化方法 非常适用于:

遍历 array、object 和 string
对值进行操作和检测
创建符合功能的函数

 

 

 

 

一、安装

 

浏览器环境,在页面的sript里直接引用lodash.js

<script src="lodash.js"></script>

 

通过 npm:

$ npm i --save lodash

 

 

二、引用

import * as _ from 'lodash'

 然后就可以使用lodash的各种方法了

 

下面列举一些常用的lodash方法

 

_.range(10) 

//生成元素为0到9的数组

 

_.times(10, (i)=>console.log(i))

 //循环10次

 

_.uniqueId()

 //生成不同的id,用于元素中的id值再好不过

 

_.startWith 

//判断字符串是否以xx开头

 

_.endWith 

//判断字符串是否以xx结尾

 

_.truncat 

//截取指定长度后加… 用于处理标题过长再好不过

 

_.template 

//es6有字符串模板的语法,而lodash是es5的替代方案

 

_.assign

 //合并,es6有Object.assign,类似于jQuery.extend

 

_.assignIn 

//lodash里很多方法带In的都是可枚举原型链上的属性

 

_.defaults 

//安全合并,即忽略undefined/null的重写

 

_.findKey 

//根据value的属性值找key

 

.mapKeys

 //遍历重写key, 相当于.forIn

 

.mapValues 

//遍历重写value , 相当于.forIn

 

_.invert 

//反转映射,快速通过value值找key

 

_.omit 

 //返回移除部分属性的副本,比如提交表单时有些字段不要提交

 

_.pick 

//与omit相反,提取部分属性的副本,比如只提交某些字段

 

_. clamp

 //确认所给值只在min,max之间

 

_.max 

//最大

 

_.min

//最小

 

_.sum

 //求和

 

_.random

 //生成随机数

 

_.round 

//四舍五入,允许指定精确位数

 

_.isNumber

_.isInterger

_.isFunction

_.isPlainObject

_.isArray

_.isDate

_.isElement

_.isNil 

//null or undefined

 

_.isEmpty 

//{} or 空数组

 

_.isEqual 

//支持对象和数组

 

_.isMatch

 //匹配对象属性值

 

_.cloneDeep 

//深度复制

 

_.clone 

//浅复制

 

_.once 

//只执行一次

 

_.before 

//最多n-1次

 

_.after 

 //n次后执行

 

_.debounce 

//忽略频繁执行

 

_.union

 //合并两数组,去重

 

_.uniq

 //去重

 

_.pull(array,element1,element2) 

// 直接在array中移除元素,

 

_.without(array,element1,element2) 

//得到新array中移除元素

 

_.remove(array, function) 

//直接在array移除在function返回true的元素

 

_.sameple(array) 

//随机取1

 

_.samepleSize(array, int)

//  随机取n

 

_.shuffle(array)

 //乱序, jQuery.shuffle

 

_.find(array, function | object) 

//根据function返回值和对象查找1个结果

 

_.filter(array, function | object) 

//根据function返回值和对象查找多个结果

 

_.groupBy(array, string) 

//分组,与多合一相反

 

_.keyBy(array, string)

 //分组,类似groupBy, 但只有唯一值

 

_.countBy(array, string) 

//分组统计

 

_.orderBy(array, array, array)

_.sortBy(array, array)

_.difference(array1,array2)

 //找不同于array2,元素是Object用differenceBy

 

_.xor(array1,array2) 

//得到非交集,元素是Object用xorBy

 

_.intersection(array1,array2) 

//得到交集,元素是Object用intersectionBy

 

 

 

 

建议去自己读一下lodash官网,官网有实例可以帮助我们更好地理解一些方法的使用  https://www.lodashjs.com/