lodash工具庫(js)
一、中文網地址
https://www.lodashjs.com/
二、簡介
1.lodash是啥?
lodash是一個一致性、模組化、高效能的js使用工具庫,
2.為什麼選擇lodash?
lodash通過降低array、number、objectss、string等的使用難度從而讓js變得更簡單。lodash的模組化方法非常適用於:
- 遍歷array、object和string
- 對值進行操作和檢測
- 建立符合功能和函式
三、案例
1._chunk(將...拆分成多少份)
_.chunk(array,[size=1])
將陣列array拆分成多個size長度的區塊,並將這些區塊組成新陣列。如果array無法被分割成全部等長的區塊,那麼最後剩下的元素將組成一個區塊。
引數:
1.array需要處理的陣列
2.【size=1】(number):每個陣列區塊的長度
返回:返回一個包含拆分割槽塊的長度
例子:
_.chunk(['a','b','c','d'],2); //=>[['a','b'],['c','d']] _.chunk(['a','b','c','d'],3); //=>[['a','b','c'],['d']];
2._.remove
_.remove(array,[predicate=_.identity])
移除陣列中predicate返回為真值的所有元素,並返回移除元素組成新陣列
引數:
1.array:要修改的陣列
2.【predicate=_.idebtity】:每次迭代呼叫的函式
返回:返回移除元素組成的新陣列
例子:
var array=[1,2,3,4]; var evens=_.remove(array,function(item){return n%2==0}); console.log(array) //=>[1,3] console.log(evens); //=>[2,4]
3._isEmpty
_.isEmpty(value)
檢查value是否為一個空物件,集合,對映或者set.判斷的依據是除非有列舉屬性的物件,length大於0的arguments Object,array,string
物件如果被認為為空,那麼他們沒有自己的可列舉屬性的物件。
類陣列值,比如arguments物件,array,buffer,string或者jQuery集合的length為零,被認為是空。類似的,map(對映)和set的size為0,被認為是空。
引數:
1.value(*)要檢查的值
返回:
如果value為空,那麼返回true,否則返回false.
例子
_.isEmpty(null);
// => true
_.isEmpty(true);
// => true
_.isEmpty(1);
// => true
_.isEmpty([1, 2, 3]);
// => false
_.isEmpty({ 'a': 1 });
// => false
4._cloneDeep(value)
這個方法類似於_.clone,除了他會遞迴拷貝value.(注:也叫深拷貝)。
引數
1.value(*):要深拷貝的值
返回
返回拷貝後的值。
例子
var objects=[{'a':1},{'b',:2}]; var deep=_.cloneDeep(objects); console.log(deep[0]===objects[0]); //=>false勤學似春起之苗,不見其增,日有所長; 輟學如磨刀之石,不見其損,日所有虧!