首页IT科技lodash作用(Lodash 使用及常用方法)

lodash作用(Lodash 使用及常用方法)

时间2025-08-05 08:15:06分类IT科技浏览6485
导读:简介 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。...

简介

Lodash 是一个一致性               、模块化                       、高性能的 JavaScript 实用工具库               。它内部封装了诸多对字符串        、数组               、对象等常见数据类型的处理函数,Lodash 通过降低 array                       、number        、objects       、string 等等的使用难度从而让 JavaScript 变得更简单                       。

官网

Lodash 简介 | Lodash 中文文档 | Lodash 中文网

Array:适用于数组类型               ,比如填充数据                       、查找元素                、数组分片等操作 Collection:适用于数组和对象类型                       ,部分适用于字符串        ,比如分组       、查找                      、过滤等操作 Function:适用于函数类型               ,比如节流                、延迟、缓存                      、设置钩子等操作 Lang:普遍适用于各种类型                       ,常用于执行类型判断和类型转换 Math:适用于数值类型        ,常用于执行数学运算 Number:适用于生成随机数       ,比较数值与数值区间的关系 Object:适用于对象类型                       ,常用于对象的创建                       、扩展、类型转换               、检索                       、集合等操作 Seq:常用于创建链式调用                ,提高执行性能(惰性计算) String:适用于字符串类型

使用

1        、首先通过npm全局安装ladash

npm i -save lodash \\全局安装

2               、按需引入了如下方法:

方法一: import _get from lodash/get import _map from lodash/map import _uniq from lodash/uniq import _pick from lodash/pick import _omit from lodash/omit import _isNaN from lodash/isNaN import _property from lodash/property import _findIndex from lodash/findIndex import _isUndefined from lodash/isUndefined import _isString from lodash/isString import _debounce from lodash/debounce 方法二: import {debounce, isString, isUndefined, isNaN, map} from lodash

常见方法

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

含义:将数组(array)拆分成多个 size 长度的区块       ,并将这些区块组成一个新数组        。

例子:

_.chunk([a, b, c, d], 2); // => [[a, b], [c, d]] _.chunk([a, b, c, d], 3); // => [[a, b, c], [d]] _getObjArray

@description 返回指定对象的 key 的值的数组                      ,支持多层属性嵌套获取                ,如:obj.x.y.z,快速获取数组内需要的key值数组

@param {Array} [objects] 目标对象

var objects = [ { a: { b: { c: 2 } } }, { a: { b: { c: 1 } } } ] utils._getObjArray(object, a.b.c) => [2, 1]

_.findIndex(array, [predicate=_.identity], [fromIndex=0])

该方法类似_.find                      ,区别是该方法返回第一个通过 predicate 判断为真值的元素的索引值(index)                       ,而不是元素本身               。

参数:

array (Array): 要搜索的数组                       。 [predicate=_.identity] (Array|Function|Object|string): 这个函数会在每一次迭代调用        。 [fromIndex=0] (number): The index to search from.

返回值:

(number): 返回找到元素的 索引值(index),否则返回 -1       。

例子:

var users = [ { user: barney, active: false }, { user: fred, active: false }, { user: pebbles, active: true } ]; _.findIndex(users, function(o) { return o.user == barney; }); // => 0 // The `_.matches` iteratee shorthand. _.findIndex(users, { user: fred, active: false }); // => 1 // The `_.matchesProperty` iteratee shorthand. _.findIndex(users, [active, false]); // => 0 // The `_.property` iteratee shorthand. _.findIndex(users, active); // => 2

_.uniq(array)

创建一个去重后的array数组副本                       。使用了SameValueZero 做等值比较                。只有第一次出现的元素才会被保留

参数:

array (Array): 要检查的数组       。

返回值:

(Array): 返回新的去重后的数组                      。

例子:

_.uniq([2, 1, 2]); // => [2, 1] _isUndefined

@description 判断是否为undefined

@returns 返回布尔值

var a utils._isUndefined(a) => true _.isNaN(value)

检查 value 是否是 NaN                。

注意: 这个方法基于Number.isNaN               ,和全局的isNaN 不同之处在于                       ,全局的isNaN对 于 undefined 和其他非数字的值返回 true。

参数:

value (*): 要检查的值                      。

返回值:

(boolean): 如果 value 是一个 NaN        ,那么返回 true               ,否则返回 false                       。

例子:

_.isNaN(NaN); // => true _.isNaN(new Number(NaN)); // => true isNaN(undefined); // => true _.isNaN(undefined); // => false _debounce

防抖函数真的太棒了                       ,系统里那么多按钮都需要防抖处理。比如导出按钮        ,当然除了防抖函数我还另外上锁       ,避免由于网络原因造成的用户多次点击触发多次请求               。

// 导出 export: utils._debounce(() => { if (this.exportLock) return this.exportLock = true exportCommonData({ ...this.formQuery, ...this.filter }).then(res => { delete this.exportLock res.url && window.open(res.url) }) }, 1000), _.isEmpty (value)

​ 检查 value 是否为一个空对象                       ,集合                ,映射或者set                       。 判断的依据是除非是有枚举属性的对象       ,length 大于 0 的 arguments object, array, string 或类jquery选择器        。

​ 对象如果被认为为空                      ,那么他们没有自己的可枚举属性的对象               。

​ 类数组值                ,比如arguments对象,array                      ,buffer                       ,string或者类jQuery集合的length 为 0,被认为是空                       。类似的               ,map(映射)和set 的size 为 0                       ,被认为是空        。

参数:

value (*): 要检查的值       。

返回值:

(boolean): 如果 value 为空        ,那么返回 true               ,否则返回 false                       。

例子:

_.isEmpty(null); // => true   _.isEmpty(true); // => true   _.isEmpty(1); // => true   _.isEmpty([1, 2, 3]); // => false   _.isEmpty({ a: 1 }); // => false

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
野生杜鹃花盆景怎么养(杜鹃花怎么养家庭养法)