阅读 2049

假期充电 Day 3 —— Lodash 中文文档

前言

  1. 【 Lodash 和 Underscore 的关系 】
    • 江湖传闻(没核实过,先听着吧,反正翻译的主角是Lodash):
      • 一开始Lodash只是Underscore.js的一个fork,之后在原有的成功基础上取得了更大的成果,lodash的性能远远的超过了Underscore。
      • lodash基于Underscore.js,且兼容性更好,性能更好,更加全面的测试,属于Underscore.js的超集
  2. 【 ES6、ES7盛行的今天,还有必要使用 Lodash 么? 】
    • 网上一哥们整理一篇好文——你并不需要Underscore/Lodash,里面梳理了已经被原生支持的一些方法,大家可以参考参考
    • 当然,在下也觉得,可以用原生实现的就不需要额外引入第三方库,不过目前 Lodash 还是有些功能用起来还是挺高(tou)效(lan)
    • 没有正面回答这个问题,到底有没有必要使用 Lodash?在下认为,还是见仁见智吧,萝卜青菜各有所爱,就看各位怎么看喽
  3. 【 网上中文资料那么多,为什么要自己瞎折腾? 】
    • 说实话,在下不是什么大神,就是一个半吊子的码农,这次翻译也不纯粹为了翻译,更多是想多看看别人大神的代码,偷偷师。就算没学到也算见识见识。不能让自己老躲在自己的井底,多折腾,多看看。
  4. 【 快速通道 】
    • 网上很多大神都有翻译过,如果比较心急,可以先行看看强大的网友翻译好的——Lodash中文文档
    • (ps:Lodash 中文官网里面还是有很多为翻译)
  5. 【 ps 】
    • 本文持续更新,很多细节还没想好怎么做才能更有价值,没事,先上路,细节路上解决,接受各位大大的吐槽和交流

信息

  1. 【 官网 】
  2. 【 版本号 】
    • v4.17.5

Array

_.chunk(array, [size=1])

_.chunk(array, [size=1])

源码npm包

将第一个参数(array数组),按照指定的长度(size),拆分成多个子数组,并将拆分出来的子数组组合成一个新的数组。如果没法均分,则剩余的元素组成一个子数组

引入版本

3.0.0

参数

array (Array): 需要处理的数组 [size=1] (number): 每个子数组的长度

返回

(Array): 返回一个包含拆分子数组的新数组

例子

_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
 
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]

_.chunk(["a", "b", "c", "d"])
// => [['a'], ['b'], ['c'], ['d']]
复制代码

实用场景

待补充

_.compact(array)

_.compact(array)

源码npm包

去掉 array 中所有假值元素。其中,false, null, 0, "", undefined, NaN 都是被认为是“假值”

引入版本

0.1.0

参数

array (Array): 待处理的数组

返回

(Array): 返回过滤掉假值的新数组

例子

_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

_.compact([0, 1, false, 2, '', 3, undefined, NaN, 4, 5, 'aaa', null, 'bbb', 666]);
// => [1, 2, 3, 4, 5, "aaa", "bbb", 666]
复制代码

实用场景

待补充

_.concat(array, [values])

_.concat(array, [values])

源码npm包

创建一个新数组,把 array ,以及后面的任何值或数组连接起来

引入版本

4.0.0

参数

array (Array): 被连接的数组 [values] (...*):连接在 array 后面的值(ps:一个或多个)

返回

(Array): 返回连接后的新数组

例子

var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
var another = _.concat(array, 2, [3], [[4]], false, null, 0, "", undefined, NaN);
 
console.log(other);
// => [1, 2, 3, [4]]

console.log(another);
// => [1, 2, 3, [4], false, null, 0, "", undefined, NaN]
 
console.log(array);
// => [1]      ——说明不改变原数组 array
复制代码

实用场景

待补充

作者简介:吴勤发,芦苇科技web前端开发工程师。擅长网站建设、公众号开发、微信小程序开发、小游戏、公众号开发,专注于前端框架、服务端渲染、SEO技术、交互设计、图像绘制、数据分析等研究,有兴趣的小伙伴来撩撩我们~ web@talkmoney.cn

访问 www.talkmoney.cn 了解更多

关注下面的标签,发现更多相似文章
评论