Lodash 常用方法

Lodash 常用方法,第1张

.compact(array)

创建一个新数组,包含原数组中所有的非假值元素。例如 false , null , 0 , "" , undefined , 和 NaN 都是被认为是“假值”。

不修改原数组,返回过滤掉假值的新数组。

_.difference(array, [values])

创建一个新数组,这个数组中的值,为第一个参数排除了给定数组中的值。结果值的顺序是由第一个数组中的顺序确定。

不像 _.pullAll,该方法不修改原数组,返回一个过滤值后的新数组。

_.union([arrays])

数组的并集,按顺序返回,返回数组的元素是唯一的。

返回一个新的联合数组。

_.uniq(array)

创建一个去重后的数组副本(注:即数组去重)。

不修改原数组,返回新的去重后的数组。

_.zip([arrays])

创建一个分组元素的数组,数组的第一个元素包含所有给定数组的第一个元素,数组的第二个元素包含所有给定数组的第二个元素,以此类推(注:即数组转置)。

返回分组元素的新数组。

_.zipObject([props=[]], [values=[]])

它接受2个数组,第一个数组中的值作为属性名,第二个数组中的值作为相应的属性值(注:即将两个数组用键值对关联)。

返回一个新的对象。

_.last(array)

获取数组中最后一个元素

_.pick(object, [props])

_.omit(object, [props])

反向版 [ _.pick ]这个方法一个对象,这个对象由忽略属性之外的 object 自身和继承的可枚举属性组成。(可以理解为删除 object 对象的属性)。

.filter(collection, [predicate= .identity])

遍历 collection(集合)元素,返回 predicate(断言函数)返回真值 的所有元素的数组。 predicate(断言函数)调用三个参数:(value, index|key, collection)。

创建一个集合对象,对象的键是经过迭代函数( iteratee )执行处理集合中每个元素后返回的结果,每个键对应的值负责生成键的元素组成的数组。

返回一个新的集合对象。

对集合通过迭代函数来进行排序,若没指定 orders ,所有值以升序排序。 否则,指定为 desc 降序,或者指定为 asc 升序。

返回排序后的新数组。

_.once(func)

创建一个只能调用 func 一次的函数。 重复调用返回第一次调用的结果。 func 调用时, this 绑定到创建的函数,并传入对应参数。

_.throttle(func, [wait=0], [options={}])

创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。

_.wrap(value, [wrapper=identity])

创建一个函数。提供的 value 包装在 wrapper 函数的第一个参数里。 任何附加的参数都提供给 wrapper 函数。 被调用时 this 绑定在创建的函数上。

<<模块lodash的作用>>

Lodash是一个内部封装了诸多对字符串、数组、对象等常见的数据类型的处理函数的一套工具库

Lodash提供的辅助函数主要分为以下几类

---Array,适用于数组类型,比如填充数据、查找元素、数组分片等 *** 作

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

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

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

---Math,适用于数值类型,常用于执行数学计算

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

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

---Seq,常用于创建链式调用,提高执行性能

---String,适用于字符串类型

lodash主要使用了延迟计算,使得其性能大大提升,延迟计算意味着在我们的链式方法在显示或者隐藏式的value()调用之前式不会执行的。由于这种执行的延后,因此lodash可以进行shortcut fusion这样的优化,通过合并链式iteratee大大降低迭代次数。从而大大提升性能

//什么是shortcut fusion??

例如

这里只是一串方法链,如果没有显式的调用value方法,使其立即执行的话,将会得到LodashWrapper的延迟表达式,如下

因为延迟表达式的存在,我们可以多次增加方法链,但是并不会执行,所以不会存在性能上的问题,当我们最后需要使用的时候,使用value显示立即执行即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11953991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存