在前面幾篇文章裡我們建構了如下的結構 : 一筆又一筆的基金物件
可是我們在現實狀況中會面臨更複雜的結構 , 例如應該會是一間基金公司底下會有好幾筆的基金 ,
如下圖 : 安本公司底下 , 會有多筆基金 , 如安本環球股票基金
如果我們想用先前介紹的 find 或 where 語法來找到符合條件的基金呢 ? 如下圖 :
可以發現它們並無法找到 Funds 陣列裡面的基金物件 , 在這狀況下 ,
它們只能找基金公司的物件屬性 , 如 Comp_CODE 或 Comp_TEXT ,
那如果我們想要找到特定基金呢 ?
我們接著會使用 Underscore 的 map 語法來協助我們進一步過濾資料 ,
map 會把符合的資料映射到新的數組中 , 如下圖 :
可以看到使用 map 語法後 , Funds 基金陣列會映射到新的數組中
可是上面的結構我還是得迴圈所有陣列直到找到我所要的基金 ,
這時候我們接著使用 Underscore 的 flatten 語法 :
它可以協助我們把陣列中所有的基金全部映射到新的數組 ,
如果每個基金公司底下有 5 筆基金 ,
那 flatten 會把 15 筆的基金物件全部映射到新的數組 ,
下圖可以發現所有的基金都被映射到新的陣列了 ,
到這個地步我們使用 find 或者 where 語法就能輕鬆找到嚕
本文章同步發布於 保政島 使用 Underscore map 與 flattern 情境