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

为什么选择 Lodash ?

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

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

一、安装

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

<script src="lodash.js"></script>

通过 npm:

$ npm i --save lodash

二、引用

import * as _ from 'lodash'

然后就可以使用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的使用的更多相关文章

  1. 延迟求值-如何让Lo-Dash再提速x100?

    「注释」作者在本文里没有说明这么一个事实: 目前的版本Lo-Dash v2.4.1并没有引入延迟求值的特性,Lo-Dash 3.0.0-pre中部分方法进行了引入,比如filter(),map(),r ...

  2. 函数式 js 接口实现原理,以及 lodash/fp 模块

    函数式 js 接口 之前在 youtube 上看到一个技术视频,讲“underscore.js的接口为什么不好用”,以及什么样的接口更好用.演讲者是 lodash.js 的作者,他提出了一种“全面函数 ...

  3. lodash

    lodash常用函数一 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  4. lodash 替换 underscore

    不少知名项目都在用lodash替换underscore lodash  Lazy evaluation 英文原文:http://filimanjaro.com/blog/2014/introducin ...

  5. JavaScript工具库之Lodash

    你还在为JavaScript中的数据转换.匹配.查找等烦恼吗?一堆看似简单的foreach,却冗长无趣,可仍还在不停的repeat it!也许你已经用上了Underscore.js,不错,你已经进步很 ...

  6. inoic start projectname sidemenu报错 - Error: Cannot find module 'lodash._baseslice'

    inoic start projectname sidemenu报错 - Error: Cannot find module 'lodash._baseslice' 在公司的电脑上出现过这个错误,后来 ...

  7. lodash链式使用

    chain var _ = require('lodash'); var user1 = { name: 'zhangsan', height: 180, weight: 120 }; var use ...

  8. lodash常用方法1--查询

    1.find var _ = require('lodash'); var user1 = { name: 'zhangsan', height: 180, weight: 120 }; var us ...

  9. 高性能的JavaScript库---Lodash

    上周在仿做Nodejs社区的时候,遇到了lodash这个javascript库,很惭愧,那也是我第一次听说lodash.人嘛,对于新鲜的事物总是会或多或少感到些好奇的,于是就毫不犹豫地去lodash官 ...

  10. lodash源码(2)

    1.flatten 对深层嵌套数组的抹平 _.flatten([1, [2, 3, [4]]]);* // => [1, 2, 3, [4]]** // using `isDeep`* _.fl ...

随机推荐

  1. Tomcat闲聊

    上面是Tomcat的执行过程. 下面说几个概念: 1.JSP:这个就是在html文件中嵌入Java代码之后重新生成的一个文件(.jsp的文件) 2.servlet:就是一个处理动态资源的小程序,一般位 ...

  2. Django数据库表的关联问题

    Django模型中,比较难以理解的要数表和表之间相关联的部分,下面主要说说外键-ForeignKey和ManyToManyField2个字段类型. 我们知道ForeignKey说的是“一对多”,那么问 ...

  3. [转]成员函数指针与高性能的C++委托

    原文(作者:Don Clugston):Member Function Pointers and the Fastest Possible C++ Delegates 译文(作者:周翔): 成员函数指 ...

  4. centos 源码安装apache 之apr、apr-util

    apr 和 apr-util官网下载地址: http://apr.apache.org/download.cgi 安装顺序是先安装apr然后再安装 apr-util,因为安装apr-util需要apr ...

  5. ToString(string format)输出格式简述

    ToString说明 ToString 是 .NET Framework 中主要的格式化方法.它将对象转换为其字符串表现形式,使它适合于显示.(有关对 .NET Framework 中的格式设置支持的 ...

  6. CI框架 简介

    CI工作流程:        所有的入口都从根目录下的index.php进入,确定应用所在目录后,加载 codeigniter/CodeIgniter.php 文件,该文件会顺序加载以下文件执行整个流 ...

  7. Trees on the level UVA - 122 复习二叉树建立过程,bfs,queue,strchr,sscanf的使用。

    Trees are fundamental in many branches of computer science (Pun definitely intended). Current state- ...

  8. 【Mac + Appium】之运行报错:[UiAutomator] UiAutomator exited unexpectedly with code 0, signal null

    产生下面的原因是因为:与uiautomator2的weditor冲突,两者不能同时使用. 有时打开appium时会报错: [UiAutomator] UiAutomator exited unexpe ...

  9. ffmpeg 错误系统

     avcodec_decode_video2. returns -1094995529. #define AVERROR_INVALIDDATA FFERRTAG( 'I','N','D','A') ...

  10. CSS权威指南(第3版)

    第一章 基础介绍 介绍了css的好处, 编辑一个文件多处使用, 层叠: 指式样有矛盾时, 可以覆盖掉之前的式样, 便于维护 等等. 块级元素:会生成一个元素框, (默认地)它会填充其父元素的内容区, ...