Lodash
Lodash是一套工具库,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,其中部分是目前ECMAScript尚未制订的规范,但同时被业界所认可的辅助函数。
常用
assign:合并对象
map :获取对象数组中某一同名属性的属性值集合;
find : 根据function返回值和对象查找1个结果;
filter:根据function返回值和对象查找多个结果;
reject: filter的反向方法;
omit: 返回移除部分属性的副本,比如提交表单时有些字段不要提交;
//main.js
// 导入loadsh
import _ from 'lodash';
//注入工具
Vue.prototype.$lodash = _;
1、times()循环
//js原生的循环方法
for(var i = 0; i < 5; i++){
console.log(i);
}
//ladash的times方法
this.$lodash.times(5,function(a){
console.log(a);// 0 1 2 3 4
});
2、深层查找属性值 map
var lineFriendsArr = [{
owner: "brown",
lovers: [{
name: "cony"}, {
name: "choco"}]
}, {
owner: "James",
lopvers: [{
name: "sally"}, {
name: "Jessica"}]
}];
var jsMap = lineFriendsArr.map(function (owner) {
return owner.lovers[0].name;
});
console.log(jsMap);
// Lodash
var lodashMap = this.$loadsh.map(lineFriendsArr, 'lovers[0].name');
console.log(lodashMap);
//["cony", "sally"]
3、获取对象中的某个属性的值 get
let obj = {
a: [{
b: {
c: 3}}]}
let c = this.$lodash.get(obj, 'a[0].b.c')
console.log(c) // 3
4、深克隆对象 cloneDeep
var objA = {
name: "brown"
};
//原生深度克隆 JSON.parse(JSON.stringify(objA))
// Lodash
var objB = this.$loadsh.cloneDeep(objA);
console.log(objA); //{name: "brown"}
console.log(objB);//{name: "brown"}
console.log(objA === objB);//false
5、查找属性 find filter reject
var lovers= [
{
lover: 'brown', age: 20, active: true},