目录

一.摘要

二.常用方法


一.摘要

lodash是JS一个开箱即用的库函数,里面对于在日常开发中常用到的方法都是已经封装好的,使用起来非常方便,本篇记录了在日常开发过程总经常用的方法,就大概记录一下,具体请参考lodash的官方API:lodash官方API

二.常用方法

  • get
import { get } from 'lodash'// 从一个变量中取值,第一参数表示变量,第二个表示该节点对应的名称,第三个参数表示当取不到的时候设置的默认值
const a1 = get(nextProps, 'treeVal', undefined)
  • intersection
import { intersection } from 'lodash'// 取两个数组的交集,该方法的返回值仍然是一个数组,如果没有交集,就返回空数组
const arr = intersection(nowCodes, pCodeList)
  • intersectionBy
import { intersectionBy } from 'lodash'// 对于数组下嵌套json数据的情况下,根据指定属性id(根据实际的业务需要可任意指定的),取出两个数组的交集,返回的新数组为两个数组的交集
const arr = intersectionBy(delArr1, delArr2, 'id')
  • ​​​cloneDeep
import { cloneDeep } from 'lodash'// 将源数据深拷贝一份出来,调用此方法会在内存中为新变量重新开辟一个空间,此方法跟lodash的clone方法,解构赋值,Object.assign等等这些方法有本质的区别,这些方法只是新增了一个源数据的引用而已,并没有在内存中去重新开辟一个空间,如果只是单单浅拷贝了一个引用,那么新拷贝的的数据如果发生变化,会引起源数据的变化
const tree = cloneDeep(treeData)
  • throttle
import { throttle } from 'lodash'//节流函数
throttle(function () {//回调函数})}, 1000, { leading: true, trailing: false })//该函数共接收三个参数,第一个表示要执行的回调,第二个表示等待时间,第三个参数为Object,具体看下
//{ leading: true, trailing: false },节流开始前执行一次,节流时间到达后不再执行
//{ leading: false, trailing: true },在节流开始前不执行,节流时间到达后再执行一次
//{ leading: true, trailing: true },指定调用在节流开始前执行,节流时间到达后再执行一次//节流函数在很多业务场景中都用到过,防止用户频繁点击,函数的触发过于频繁都可以用此方法来做限制的;
  • uniqBy
import { uniqBy } from 'lodash'// 对于数组下嵌套的有json对象的时候,根据指定的字段来给数组去重,可以调用此方法,下面的一句代码就是根据id属性,来给sArr做一个去重的操作,返回的新数组就是去重以后的数组
const arr = uniqBy(sArr, 'id')
  • pullAllBy
import { pullAllBy } from 'lodash'// 在数组嵌套json的情况下,把Arr1中与Arr2的id有相同的元素删除,根据指定的属性去删除重复元素
const arr = pullAllBy(Arr1, Arr2, 'id')
  • remove
import { remove } from 'lodash';// 从arr数组中删除指定项,arr1为删除后的数组,roadKey为指定标识
const arr1 = remove(arr, (item) => {return !(item.roadKey === roadKey);});

JS lodash库在开发中常用到的方法相关推荐

  1. java开发中常用到小方法

    ArrayList转数组 /** 获取优惠券全部策略ID String[]*/private String[] getStrategyIDArrayCache() throws Exception { ...

  2. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  3. python web开发第三方库_Python Web开发中常用的第三方库

    Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...

  4. jsp/html开发中常用的JS代码和页面特效代码

    1.jsp/html开发中常用的JS代码 1.后退 前进 <input type="button" value="后退" onClick="hi ...

  5. 前端开发中常用图片格式

    前端开发中常用图片格式 在我们的日常开发中.必不可少会使用很多种图片. 我们需要根据业务场景来选择所使用的图片类型. 这里我整理了一些常用图片类型.他们的优缺点以及建议的使用场景. 如何在计算机中显示 ...

  6. java开发常用jar包_Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. 一.common-lang3 简介:一个现在最为常用的jar包,封装了许多常用的工具包 依赖: org.apache.common ...

  7. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  8. 在手机开发中常用的数据库是什么?

    在手机开发中常用的数据库是 (A) A:SQLiteB:OracleC:Sql ServerD:Db23 SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...

  9. 前端开发中常用设计模式-总结篇

    本文是向大家介绍前端开发中常用的设计模式,它使我们编写的代码更容易被复用,也更容易被人理解,并且保证代码的稳定可靠性. 1.什么是设计模式 通俗来讲,就是日常使用设计的一种惯性思维. 因为对应的这种思 ...

最新文章

  1. CentOS 6.3 安装 samba 共享
  2. Linux time ls命令:用户态内核态分别占用多长时间
  3. (原创)INTERVAL分区表与RANGE分区表相互转化
  4. [家里蹲大学数学杂志]第036期泛函分析期末试题
  5. 微信开发系列之八 - 微信公众号的地图集成
  6. 逻辑综合——优化电路
  7. e.html5.qq.com,QQ群官网-开放能力
  8. 全国计算机二级c语言和江苏教材一样吗,计算机二级省级和全国计算机二级考试内容一样吗...
  9. spring:利用Spring AOP 使日志输入与方法分离
  10. 大麦无线路由器改装打印服务器,大麦domywifi DW33D路由器固件openwrt重分区版
  11. LaTeX中CTeX版本日期格式设置英文
  12. 【优秀课设】基于Python的百度API的OCR名片识别【含完整API账户】
  13. 沐阳Git笔记03文件重命名
  14. 【图神经网络】图神经网络(GNN)学习笔记:基于GNN的图表示学习
  15. Bootstrap 教程第四课:制作一组功能图标按钮
  16. Win10 下安装Win7双系统
  17. 魔坊APP项目-20-种植园,背包显示道具、用户购买道具的时候,判断背包存储是否达到上限、背包解锁
  18. ext.net 后台方法调用
  19. Java集合扩展系列 | 字典树
  20. notepad++配置java,c,c++,python,shell运行环境

热门文章

  1. 医学影像入门知识——2. 常见术语名词总结
  2. php使用wkhtmltopdf将html转为pdf
  3. 微软什么时候停止对win7进行服务器,微软2020年对Win7停止全部支持 赶紧升Win10
  4. 极智AI | 多模态领域先行者 详解 CLIP 算法实现
  5. ffmpy.FFRuntimeError: exited with status 1
  6. 写在2016年底(r11笔记第30天)
  7. 灿瑞科技上市破发:公司市值70亿 小米与传音是重要客户
  8. IPFS安装及初始化
  9. 如何可视化编写和编排你的k8s任务
  10. SpringCloud(3.1)Jenkins安装+GitLab拉取项目