子路宇晟的博客

love and peace


  • Home

  • Archives

Lodash

Posted on 2017-04-09 | Edited on 2018-12-22 | Comments: | Views:

Lodash概述

随着时间的过去,我们写码会积累一些习惯,思想,工具和套路代码,让我们下次在做类似工作时可以事半功倍。lodash就是一个js的工具库,它内部封装了常见的数据处理,如字符,数组,对象,日期。传承于underscore,但性能上却更优异。

模块组成

  • Array,适用于数组类型,比如填充数据、查找元素、数组分片等操作
  • Collection,适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作
  • Date,当前时间戳
  • Function,适用于函数类型,比如字节流,延迟,缓存,设置钩子等操作
  • Lang,类型转化和数值比较
  • Math,数学运算
  • Number,随机数和数值区间
  • Object,对象的创建、扩展、类型转换、检索、集合等操作
  • Seq,创建链式调用,提高执行性能(惰性计算)
  • String,适用于字符串类型

实例

1.N次循环

1
2
3
4
5
6
7
8
9
10
11
// 1. Basic for loop. 
for(var i = 0; i < 5; i++) {
// ...
}
// 2. Using Array's join and split methods
Array.apply(null, Array(5)).forEach(function(){
// ...
});
// Lodash _.times(5, function(){
// ...
});

for 语句是执行循环的不二选择,Array.apply 也可以模拟循环,但在上面代码的使用场景下,_.times() 的解决方式更加简洁和易于理解。

2.深层查找属性值

1
2
3
4
5
6
7
8
9
10
11
12
13
// Fetch the name of the first pet from each owner 
var ownerArr = [{
"owner": "Colin",
"pets": [{"name":"dog1"}, {"name": "dog2"}]
}, {
"owner": "John",
"pets": [{"name":"dog3"}, {"name": "dog4"}] }];
// Array's map method.
ownerArr.map(function(owner){
return owner.pets[0].name;
});
// Lodash
_.map(ownerArr, 'pets[0].name');
Read more »

我的2016

Posted on 2017-02-02 | Edited on 2020-04-05 | Comments: | Views:

2016

作为一个每年都要迁徙回家过年的俗人,现在写16年的总结应该也是说的过去的。

工作

16年主要工作还是android方向,还写了点python接口,现学现用了react大礼包。在pad,pos和数据面板做了一点微小的工作。

感谢组织的信任,日常维护着商户管家的相关FAQ。

生活

和女朋友吃喝拉撒在一起,感觉被照顾着,很开心😄

4月的某个周末去浙江一个竹林爬山,挺累,但是便宜啊,而且有锻炼到。

5月的海南已然是炎夏了,蜈支洲岛的水特别蓝,玩了5天,特别放松。

6月公司集体去越南旅游,好吃的鸡肉米粉,比海南更好的沙滩,消费也特别低,是个去海边度假的好去处,人民币在那里特别管用。

Read more »
<i class="fa fa-angle-left" aria-label="Previous page"></i>1…34
子路宇晟

子路宇晟

二次元爱好者,非专业视觉体验师

32 posts
9 tags
GitHub E-Mail
© 2020 子路宇晟
Powered by Hexo v4.2.0
|
Theme – NexT.Gemini v6.5.0