目录

一.摘要

二.常用方法


一.摘要

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);
    });

删除数组中返回值为true的元素,arr1是由删除元素组成的新数组,arr表示删除指定元素后剩余元素组成的数组。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐