Underscore [4] : 使用 map 與 flattern 情境

摘要:使用 Underscore flattern 情境

在前面幾篇文章裡我們建構了如下的結構 : 一筆又一筆的基金物件

 

 

可是我們在現實狀況中會面臨更複雜的結構 , 例如應該會是一間基金公司底下會有好幾筆的基金 , 如下圖 : 

 

安本公司底下 , 會有多筆基金 , 如安本環球股票基金

 

 

如果我們想用先前介紹的 find 或 where 語法來找到符合條件的基金呢 ?  如下圖 :

 

可以發現它們並無法找到 Funds 陣列裡面的基金物件 , 在這狀況下 , 它們只能找基金公司的物件屬性 , 如 Comp_CODE 或 Comp_TEXT , 

 

那如果我們想要找到特定基金呢 ? 

 

我們接著會使用 Underscore 的 map 語法來協助我們進一步過濾資料 , map 會把符合的資料映射到新的數組中 , 如下圖 : 

 

可以看到使用 map 語法後 , Funds 基金陣列會映射到新的數組中 

可是上面的結構我還是得迴圈所有陣列直到找到我所要的基金 , 這時候我們接著使用 Underscore 的 flatten 語法 : 

 

它可以協助我們把陣列中所有的基金全部映射到新的數組 , 如果每個基金公司底下有 5 筆基金 ,

 

那 flatten 會把 15 筆的基金物件全部映射到新的數組 , 

 

下圖可以發現所有的基金都被映射到新的陣列了 , 到這個地步我們使用  find 或者 where 語法就能輕鬆找到嚕