一致性、模块化、高性能
。业界赫赫有名,其不需要引入其他第三方依赖,我们在使用的过程中可以直接调用Lodash帮我们封装好的方法
;(其模块化特别适用于:创建符合功能的函数、遍历 array(数组)、object (对象)和 string(字符串)等)
Lodash使用了一个简单的 _
符号,十分简洁。
一、 引入Lodash
使用Lodash.js,有以下几种方式引入Lodash.js开发包:
js离线文件引入:直接在Lodash中文网下载相关的lodash.js包,放在自己的开发项目中,然后在需要使用的文件中引入:
cdn方式引入:一般使用bootcdn来直接在线引入,然后通过cdn加速文件下载访问:
直接通过安装依赖注入,使用webpack或者glup的打包模式直接在自己的项目中挂载lodash的依赖包,具体如下:
安装依赖
$ npm i -g npm
$ npm i --save lodash
根据需要,挂载依赖包,例:
// Load the full build.
var _ = require('lodash');
// Load the core build.
var _ = require('lodash/core');
// Load the FP build for immutable auto-curried iteratee-first data-last methods.
var fp = require('lodash/fp');
// Load method categories.
var array = require('lodash/array');
var object = require('lodash/fp/object');
// Cherry-pick methods for smaller browserify/rollup/webpack bundles.
var at = require('lodash/at');
var curryN = require('lodash/fp/curryN');
注意:如需在 Node.js < 6 的 REPL 环境中使用 Lodash,请安装 n_
。
_.cloneDeep
(深克隆)var obj ={
a:{
b:100,
fun:function(){
console.log("fun");
}
}
}
var obj2 = _.cloneDeep(obj);
obj.a.b=2000;
console.log(obj2.a.b,obj.a.b); // 100 2000
obj2.a.fun();
_.compact(array)
var arr =[1,2,'',null,0,33,"aa"];
var temArr = _.compact(arr); // 把空值 null 0 false 统统去掉
console.log(temArr); // [ 1, 2, 33, 'aa' ]
_.concat(array, [values])
var array = [1,2,3];
var other = _.concat(array, 2, [3], [[4,5,6]]);
console.log(other); // [ 1, 2, 3, 2, 3, [ 4, 5, 6 ] ]
console.log(array); // [ 1, 2, 3 ]
_.chunk(array, [size=1])
var chunk1 = _.chunk(['a', 'b', 'c', 'd'], 2);
console.log(chunk1); // [['a', 'b'], ['c', 'd']]
var chunk2 = _.chunk(['a', 'b', 'c', 'd'], 3);
console.log(chunk2); // [['a', 'b', 'c'], ['d']]
_.includes(obj,ele,index)
var obj = {
'name': '张三',
'age': 18
},
arr = ["张三", "李四", "王五", "赵六"];
console.log(_.includes(obj, '张三')); // true
console.log(_.includes(arr, '李四')); // true
console.log(_.includes(arr, '李四',2)); // false
_.times()
_.times(5,function(a){
console.log(a); // 0 1 2 3 4
});
_.map()
var arr = [{
"name": "张三",
"phone": [{"name": "MI"}, {"name": "iphone"}]
}, {
"name": "李四",
"phone": [{"name": "HUAWEI"}, {"name": "honor"}]
}];
var jsMap = arr.map(function (owner) {
return owner.phone[0].name;
});
var lodashMap = _.map(arr, 'phone[0].name');
console.log(lodashMap); // MI HUAWEI
_.random ()
function randomNum(min, max){
return Math.floor(Math.random() * (max - min)) + min;
}
console.log(randomNum(12, 18));
console.log(_.random(12, 18));
先写这么多,还有很多方法可自行查看中文文档,很详细哦,如在测试或学习这些方法时遇到问题,可在下方留言或私信我呦~
支持:
chrome 43以上、Firefox 38以上、IE 6以上、MS Edge、Safari 5以上、Node.js 8以上环境中测试通过。
整理不易,希望看完的留下小心心哦~您的支持就是博主最大的动力!