是一個一致性、模塊化、高性能的 JavaScript 實用工具庫。
安轉
1.瀏覽器
下載lodash.js文件,直接引入:
<script src="lodash.min.js"></script>
2.npm安裝
npm i --save lodash
npm安裝後,進行使用:
在需要使用lodash文件內導入:
import _ from 'lodash'
“_”類似於jq內的“$”。
部分lodash函數
1. _.cloneDeep 深克隆
var a = {
name: "a",
age: 20
}
var b = _.cloneDeep(a)
b.name = "b";
console.log(a);
console.log(b);
運行效果:
2. _.merge 遞歸合併
var a = {
name: "a",
age: 20,
job: "software engineer"
}
var b = {
name:"b",
age: 21
}
var res = _.merge(a, b);
console.log(res)
console.log(a)
console.log(b)
運行結果:
注意:這裏的a內的屬性被b改變了。
3. _.remove 刪除符合條件的元素
_.remove(array, [predicate=_.identity])
移除數組中predicate
(斷言)返回爲真值的所有元素,並返回移除元素組成的數組。predicate
(斷言) 會傳入3個參數: (value, index, array)。
var array = [1, 2, 3, 4];
var evens = _.remove(array, function(n) {
return n % 2 == 0;
});
console.log(array);
// => [1, 3]
console.log(evens);
// => [2, 4]
4. _.map 遍歷數組
和原map函數作用一致,但是這個
_.map([4, 8], x => x * x);
// => [16, 64]
var users = [
{ 'user': 'barney' },
{ 'user': 'fred' }
];
_.map(users, 'user');
// => ['barney', 'fred']
5. _.orderBy 排序
var users = [
{ 'user': 'fred', 'age': 48 },
{ 'user': 'barney', 'age': 34 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'barney', 'age': 36 }
];
// 以 `user` 升序排序 再 `age` 以降序排序。
_.orderBy(users, ['user', 'age'], ['asc', 'desc']);
// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
6. _concat 數組連接
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other);
// => [1, 2, 3, [4]]
console.log(array);
// => [1]
官網上的最全,多看官網