如何操作複雜的物件結構
如何操作複雜的物件結構
在開發過程中,前端工程師們常常會遇到許多複雜的資料結構,結構與頁面的抽象及邏輯成正比,簡單來說,越複雜的結構就反應越複雜的頁面邏輯,當我們看到這些結構可以做哪些方法,去優化、簡化這些結構,來增加我們的開發效率並降低心智負擔呢?畢竟看到層層疊疊的物件及陣列,相信正常人的頭都會隱隱作痛XD
下面我們就來依序介紹:
1.處理方法(Api工具)
2.邏輯拆解(思考資料結構拆分)
3.組合及優化(解題)
處理方法
通常複雜的資料結構不免俗的就是物件及陣列的巢狀嵌套,要先來了解有哪些方法可以幫助我們處理,並用方法把目標解構出來吧!!
1 | ---條件篩選 |
以上的方法,有些是以閉包模式傳遞,並在內部遞迴後回傳出來,相當地有趣,筆者會在最後附上相關的實現內容,有興趣的話可以自己實做看看!會對這些方法的操作更加的熟悉!
不知道有沒有一個疑問,那就是上方都是陣列的方法,那物件呢?陣列的原型方法沒法使用阿!?
物件原型方法上的篩選methods的確很少XD,但我們可以把物件轉成陣列模式操作啊!
1 | const obj = {a:'123',b:'234',c:'345'} |
看到這個模式是否燃燒起你的小宇宙了呢!!我們來合體操作看看吧!
1 |
|
邏輯拆解
找出我們所需的關鍵資料的一個想法或概念,我們可以透過畫出flow,去嘗試構思哪些資料是我們所需的,且在解題時為必要,
透過這些拆分,我們可以把複雜的資料給拆解出細小原子,在不斷的組合起來。
解題
在熟悉這些組合操作後,我們來挑戰一題較為困難的題目吧!
1 | const memberList = [ |
若有更有趣的實現方式,歡迎在下方留言~
Comments