Loadsh 常用方法总结
Lodash 介绍
Lodash :是一个一致性、模块化、高性能的 JavaScript 实用工具库。 Lodash官网
安装
浏览器环境:
<script src="lodash.js"></script>
通过 npm:
$ npm i -g npm
$ npm i --save lodash
Node.js:
// 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听得辅助函数主要分为以下几类,函数列表和用法实力请查看Lodash的官方文档:
Array
, 适合于数组类型,比如填充数据、查找元素、数组分片等操作Collocation
, 适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作Function
, 适用于函数类型,比如节流、延迟、缓存、设置钩子等操作Lang
, 普遍适用于各种类型,常用于执行类型判断和类型转换Math
, 使用与数值类型,常用于执行数学运算Number
, 适用于生成随机数,比较数值与数值区间的关系Object
, 适用于对象类型,常用于对象的创建、扩展、类型转换、检索、集合等操作Seq
, 常用于创建链式调用,提高执行性能(惰性计算)String
, 适用于字符串类型lodash/fp
模块提供了更接近函数式编程的开发方法,其内部的函数经过包装,具有immutable
、auto-curried
、iteratee-first
、data-last(官方介绍)
等特点。Fixed Arity
,固化参数个数,便于柯里化Rearragned Arguments
, 重新调整参数位置,便于函数之间的聚合Capped Iteratee Argument
, 封装Iteratee
参数
在React
+ Webpack
+ Babel(ES6)
的开发环境中,使用Lodash
需要安装插件babel-plugin-lodash
并更新Babel
配置文件:
npm install --save lodash
npm install --save-dev babel-plugin-lodash
更新Bable的配置文件 .babelrc:
{
"presets":[
"react",
"es2015",
"stage-0"
],
"plugins":[
"lodash"
]
}
使用方式:
import _ from 'lodash';
import { add } from 'lodash/fp';
const addOne = add(1);
_.map([1, 2, 3], addOne);
方法扩展
用过jq的人都知道jq插件,很多时候插件不满足自己的功能,这时候我们就想自己封装一些方法,同样lodash也可以进行扩展自定义方法
// 引入lodash文件后才可以进行扩展
_.mixin({
jiaoshou: function (a, b) { return a + b }
});
console.log(_.jiaoshou(234, 345));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具