Underscore [2] : 使用 where 情境

摘要:使用 Underscore where 情境

在 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"