在 Web 開發上常常會遇到搜尋陣列裡面的元素 , 因此我建立了如下的結構 包含多個基金的陣列 ,
名為 funds , 如下圖 :
如果今天我們有個情境是要搜尋出基金是屬於海外基金的部份 IsOverSea = true ,
在一般的 hard code 的狀況下 , 可能會這樣做 , 迴圈整個 funds , 若是符合條件的則丟到另外一個陣列 ,
之後再回傳這個陣列
var temp = [];
$.each(funds,function(index,fund){
if(fund.IsOverSea === true)temp.push(fund);
});
若今天變成要搜尋基金是屬於海外基金 ( IsOverSea = true ) 且種類是S ( category = S ) 的狀況呢 ,
在現實中我們更可能面對的是多個條件的搜尋 , 因此我們需要更好的作法 , 讓整個語意更明顯 ,
語法更簡潔 , 也意味著維護成本的降低 ,
這時候我們可以使用 Underscore 的 where 語法 , 如下圖 , 我們可以很輕鬆的搜尋到我們要的元素 ,
搜尋條件為 IsOverSea = true , 如下圖 :
搜尋條件為 IsOverSea = true 和 category = "S" , 如下圖 :
本文同步發布於 保政島 使用 Underscore where 情境