首页 > 自考资讯 > 自考知识

lodash怎么用,lodash作用

头条共创 2024-06-27

ES6推广后,是否还需要lodash

大多数时候lodash 仅用作实用程序。但它实际上具有ES6 所没有的功能。

Immutable: 所有方法都不会修改作为参数传递的原始对象,而仅返回新对象。通过Compose: 流程组合新功能,使它们更加灵活和可重用。 如果加工过程复杂。惰性求值显着提高了计算性能。 Flow已经有这种性能优化,但是原生链调用没有这种性能优化。

模块组成

Array: 适用于数组类型,如填充数据、查找元素、数组切片等操作Collection: 适用于数组和对象类型,对字符串进行分组、查找、过滤、部分操作等操作适用于Function: 适用于功能类型节流、延迟、缓存、设置挂钩等操作。Lang: 一般适用于多种类型,常用于执行类型判断或类型转换。 Math:适合数字类型,常用于执行数学运算。 Number:适合生成随机数并将值与数值区间进行比较。 关系Object: 适用于对象类型,常用于对象创建、扩展、转换、检索、收集等操作。 Seq: 通常用于创建链式调用以提高执行速度。性能(延迟计算) String: 适用于字符串类型Date: 显示当前时间Util: 工具函数属性

函数式编程特性

lodash/fp 模块提供了类似函数式编程的开发方式,其内部函数封装了不可变的自动函数。 Curried、iteratee-first、data-last(官方引入)特性

修改Arity 以固定参数数量,方便对重新排序的参数进行柯里化,重新定位参数,并促进函数之间的聚合。 Capped Iteratee Argument,封装Iteratee 参数。 新方法

常用场景

N次循环

使用时间码循环。

_.times(5, function(){ //.});

深层查找属性值

使用map获取深层对象值

_.map(ownerArr, 'pets[0].name');

个性化

使用uniqueId 生成唯一字符串。使用partial来预先初始化函数参数的一些参数。

深拷贝

cloneDeep

随机数的生成

random

对象扩展

_.assign 与Object.assign 具有相同的功能。 es6 函数

筛选属性

pickomit 方法

随机元素

随机选择_.sample: 中的元素数量。获取数据并返回一个新数组。

JSON.parse的错误处理

无法保证传递的JSON 对象正确。使用_.attempt 而不是try catch。

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢