好用到爆的JavaScript 工具庫--lodash

在GitHub上尋找第三方控件react-native-atoz-list
時(shí),在項(xiàng)目中發(fā)現(xiàn)了lodash,出于好奇,就去了解了一下,發(fā)現(xiàn)它真的方便快捷,好用到爆,在此記錄一下。

一、什么是lodash?

lodash庫是一個(gè)具有一致接口、模塊化、高性能等特性的 JavaScript 工具庫。
lodash是一個(gè)javascript庫,也是Node JS的常用模塊,它內(nèi)部封裝了諸多對(duì)字符串、數(shù)組、對(duì)象等常見數(shù)據(jù)類型的處理函數(shù),其中部分是目前 ECMAScript 尚未制定的規(guī)范,但同時(shí)被業(yè)界所認(rèn)可的輔助函數(shù)。

二、lodash相關(guān)文檔

API文檔:

Lodash簡書文章推薦:

三、lodash模塊組成

  • Array,適用于數(shù)組類型,比如填充數(shù)據(jù)、查找元素、數(shù)組分片等操作;
  • Collection,適用于數(shù)組和對(duì)象類型,部分適用于字符串,比如分組、查找、過濾等操作;
  • Function,適用于函數(shù)類型,比如節(jié)流、延遲、緩存、設(shè)置鉤子等操作;
  • Lang,普遍適用于各種類型,常用于執(zhí)行類型判斷和類型轉(zhuǎn)換;
  • Math,適用于數(shù)值類型,常用于執(zhí)行數(shù)學(xué)運(yùn)算;
  • Number,適用于生成隨機(jī)數(shù),比較數(shù)值與數(shù)值區(qū)間的關(guān)系;
  • Object,適用于對(duì)象類型,常用于對(duì)象的創(chuàng)建、擴(kuò)展、類型轉(zhuǎn)換、檢索、集合等操作;
  • Seq,常用于創(chuàng)建鏈?zhǔn)秸{(diào)用,提高執(zhí)行性能(惰性計(jì)算);
  • String,適用于字符串類型;

四、安裝及使用

以_.groupBy()方法為例來講:

(一)使用方法
  1. 安裝命令:npm i --save lodash
  2. 使用方法:
import _ from 'lodash';
let names = require('./names');
names = _.groupBy(require('./names'), (name) => name[0].toUpperCase());
(二)參數(shù)詳細(xì)介紹
QQ20171102-230315@2x.png
QQ20171102-230256@2x.png
QQ20171102-225204@2x.png

五、舉個(gè)“栗”子

我們要實(shí)現(xiàn)分組的城市列表,類似于微信中的通信錄列表,上張圖:

QQ20171109-154325@2x.png

假設(shè)我們現(xiàn)在只有這樣的數(shù)據(jù):

WX20171103-134040@2x.png

那怎么實(shí)現(xiàn)呢?
用groupBy就可以實(shí)現(xiàn)分組啦~

...
import _ from 'lodash';
let cities = require('./beforeCity.json');

...
getCityInfo(){
        console.log('cities=',cities);
        let cityList = [];
        cityList = _.groupBy(cities, (city) => city.pinyin[0]);
        console.log('cityList=',cityList);
}
...

分組結(jié)果如下:

QQ20171109-153220@2x.png

這樣分組之后是不是就很方便了呢?
lodash庫還有其他的方法,有興趣的朋友可以自行研究。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容