ES6 換種思路處理資料

發表於2018-02-12

Handle javascript data structures with map/reduce

看完本文,希望可以寫出更加漂亮、簡潔、函式式的程式碼

reduce

reduce 可以用來彙總資料

把一個物件陣列變成一個以陣列中各個物件的 id 為屬性名,物件本身為屬性值的物件。haoduoshipin

map

map 可以理解為是陣列的轉換器,依次對陣列中的每個元素做變換進而得到一個新的陣列。

find

篩選出陣列中的個別元素

唉~ 使用了半年的 es6才發現有這麼好用的東西,譯者傻缺還像下面這麼寫過呢

filter

篩選出陣列中某些符合條件的元素組成新的陣列

請大家自行思考下filterfind的區別

陣列concat

物件操作

物件是引用傳參的,所以函式內部應該儘可能的保證傳入的引數不受到汙染。

為物件動態地新增欄位

將物件轉換為query字串

得到物件陣列的元素 index

更加優雅的寫法呱呱呱提供

刪除物件的某個欄位

這裡我認為原作者有點為了函數語言程式設計而函式式了,下面是我的解決方案:

以上程式碼片段的共同原則:不改變原資料。希望大家的程式碼都可以儘可能的簡潔,可維護。

相關文章