[轉] Lodash常用API筆記

來源:互聯網
上載者:User

標籤:word   reject   undefined   尋找   注意   一個   object   使用   直接   

 

原生用法

直接使用的API

_.reject

根據條件去除某個元素。

var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]var bar = _.reject(foo, [‘id‘, 0])//bar = [{id: 1, name: "bbb", age: 25}]
_.pick

根據第二個參數的key的數組,篩選第一個參數中的值並返回

var foo = {id: 0, name: "aaa", age: 33}var bar = _.pick(foo, [‘name‘, ‘age‘])//bar = {name: "aaa", age: 33}
_.keys

返回object中的所有key

var foo = {id: 0, name: "aaa", age: 33}var bar = _.keys(foo)//bar = [‘id‘, ‘name‘, ‘age‘]
_.cloneDeep

深度拷貝,這個不用多說了吧,js中基礎類型以外的類型,都會預設拷貝備份
var bar = _.cloneDeep(foo)

_.find

尋找數組

var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]var bar = _.find(foo, [‘id‘, 0])//bar = {id: 0, name: "aaa", age: 33}

注意一下如果沒找到的話,會返回undefined,要處理一下

_.keyBy

以某個屬性為鍵,將數組轉為對象

var foo = var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]var bar = _.keyBy(foo, ‘name‘)//bar = {//    aaa: {id: 0, name: "aaa", age: 33},//    bbb: {id: 1, name: "bbb", age: 25}//}
_.filter

根據條件過濾出合格元素,返回新數組

var foo = var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]var bar = _.filter(foo, [‘name‘, "aaa"])//bar = {//    aaa: {id: 0, name: "aaa", age: 33}//}
_.map

從集合中挑出一個key,將其值作為數組返回

var foo = var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]var bar = _.map(foo, ‘name‘)//bar = ["aaa", "bbb"]
_.max/_.min/_.sum

數組中最大值、最小值、數組求和

var foo = [1, 2, 3, 4]var bar = _.max(foo)//bar = 4bar = _.min(foo)//bar = 1bar = _.sum(foo)//bar = 10
_.pad/_.padStart/_.padEnd

在兩端、開頭、末尾補齊字元

var foo = "helloworld"var bar = _.pad(foo, 14, ‘-‘)//bar = --helloworld--bar = _.padStart(foo, 14, ‘-‘)//bar = ----helloworldbar = _.padEnd(foo, 14, ‘-‘)//bar = helloworld----
組合用法

如果說上面是基礎技能,那麼下面奉上幾個炫酷的組合技:

選出json數組中id最大的一項
var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]var bar = _.find(foo, [‘id‘, _.max(_.map(foo, ‘id‘))])// bar = {id: 1, name: "bbb", age: 25}

ps:也可以用maxBy某個key來代替

更新json數組中某一項的值 
var foo = [    {id: 0, name: "aaa", age: 33},    {id: 1, name: "bbb", age: 25}]let list = _.keyBy(foo, ‘id‘)list[0].name = "ccc"var bar = _.map(list)// bar = [//    {id: 0, name: "ccc", age: 33},//    {id: 1, name: "bbb", age: 25}//]

[轉] Lodash常用API筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.