1. 程式人生 > >lodash 中常用的方法

lodash 中常用的方法

副本 移除 es5 es6 assign 模板 endwith 返回 union

odash是js集Array/Object/String/Function的Util於一身。

lodash打包了Array/Object/String/Function裏一些Api,好處是連ES6的也打包了,所以讓你想在ES5環境下使用諸如Array#reduce#includes#some#every等時可以借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 中常用的方法