美文网首页
lodash入门

lodash入门

作者: 秀萝卜 | 来源:发表于2020-04-10 11:31 被阅读0次

    参考资料:
    https://www.cnblogs.com/jin-zhe/p/9703413.html

    Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库,内部封装了很多字符串、数组、对象等常见数据类型的处理函数。

    为什么选择 Lodash ?

    Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。Lodash 的模块化方法 非常适用于:

    • 遍历 array、object 和 string
    • 对值进行操作和检测
    • 创建符合功能的函数

    一、安装

    浏览器环境,在页面的sript里直接引用lodash.js

    <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"><script src="lodash.js"></script></pre>

    通过 npm:

    <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">$ npm i --save lodash</pre>

    二、引用

    <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">import * as _ from 'lodash'</pre>

    然后就可以使用lodash的各种方法了

    下面列举一些常用的lodash方法

    _.range(10)

    //生成元素为0到9的数组

    _.times(10, (i)=>console.log(i))

    //循环10次

    _.uniqueId()

    //生成不同的id,用于元素中的id值再好不过

    _.startWith

    //判断字符串是否以xx开头

    _.endWith

    //判断字符串是否以xx结尾

    _.truncat

    //截取指定长度后加… 用于处理标题过长再好不过

    _.template

    //es6有字符串模板的语法,而lodash是es5的替代方案

    _.assign

    //合并,es6有Object.assign,类似于jQuery.extend

    _.assignIn

    //lodash里很多方法带In的都是可枚举原型链上的属性

    _.defaults

    //安全合并,即忽略undefined/null的重写

    _.findKey

    //根据value的属性值找key

    .mapKeys

    • //遍历重写key, 相当于*.forIn

    *.mapValues *

    //遍历重写value , 相当于.forIn

    _.invert

    //反转映射,快速通过value值找key

    _.omit

    //返回移除部分属性的副本,比如提交表单时有些字段不要提交

    _.pick

    //与omit相反,提取部分属性的副本,比如只提交某些字段

    _. clamp

    //确认所给值只在min,max之间

    _.max

    //最大

    _.min

    //最小

    _.sum

    //求和

    _.random

    //生成随机数

    _.round

    //四舍五入,允许指定精确位数

    _.isNumber

    _.isInterger

    _.isFunction

    _.isPlainObject

    _.isArray

    _.isDate

    _.isElement

    _.isNil

    //null or undefined

    _.isEmpty

    //{} or 空数组

    _.isEqual

    //支持对象和数组

    _.isMatch

    //匹配对象属性值

    _.cloneDeep

    //深度复制

    _.clone

    //浅复制

    _.once

    //只执行一次

    _.before

    //最多n-1次

    _.after

    //n次后执行

    _.debounce

    //忽略频繁执行

    _.union

    //合并两数组,去重

    _.uniq

    //去重

    _.pull(array,element1,element2)

    // 直接在array中移除元素,

    _.without(array,element1,element2)

    //得到新array中移除元素

    _.remove(array, function)

    //直接在array移除在function返回true的元素

    _.sameple(array)

    //随机取1

    _.samepleSize(array, int)

    // 随机取n

    _.shuffle(array)

    //乱序, jQuery.shuffle

    _.find(array, function | object)

    //根据function返回值和对象查找1个结果

    _.filter(array, function | object)

    //根据function返回值和对象查找多个结果

    _.groupBy(array, string)

    //分组,与多合一相反

    _.keyBy(array, string)

    //分组,类似groupBy, 但只有唯一值

    _.countBy(array, string)

    //分组统计

    _.orderBy(array, array, array)

    _.sortBy(array, array)

    _.difference(array1,array2)

    //找不同于array2,元素是Object用differenceBy

    _.xor(array1,array2)

    //得到非交集,元素是Object用xorBy

    _.intersection(array1,array2)

    //得到交集,元素是Object用intersectionBy

    建议去自己读一下lodash官网,官网有实例可以帮助我们更好地理解一些方法的使用 https://www.lodashjs.com/

    相关文章

      网友评论

          本文标题:lodash入门

          本文链接:https://www.haomeiwen.com/subject/bwolmhtx.html