lodash的使用


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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM