Underscore [29] : 使用 chain

摘要:Underscore [29] : 使用 chain

總算快到鐵人賽尾聲了 , 今天來介紹 Underscore 的 chain 語法 , 

 

其能夠更為精簡語法的使用 , 簡單的範例如下 : 

 

下面的範例執行了 : 

1. 使用 sortBy 對 stooges 做 age 的排序

2. 使用 map 回傳只有 name + age 的組合

3. 使用 first 得到該陣列第一個值

4. 使用 value 取得最終的值

 


var stooges = [{name: 'curly', age: 25}, {name: 'moe', age: 21}, {name: 'larry', age: 23}];

var youngest = _.chain(stooges)
  .sortBy(function(stooge){ return stooge.age; })
  .map(function(stooge){ return stooge.name + ' is ' + stooge.age; })
  .first()
  .value();
=> "moe is 21"

 

 

接下來說說使用 chain 的語法能有啥好處了 : 

 

1. 可以更為精確的表達程式的語意

 

2. 不用建立多餘的變數 

 

    若沒使用 chain 的語法  , 你可能會使用下列的方式 , 

 

    var sortedGroup = sortBy....

 

    var mapedGroup = map...

 

    var theFirstOfGroup = first....

 

    若使用 chain 語法 , 你可以不用建立這些變數名稱 , 而這些變數名稱

 

    也許可以使用在其他更有意義的地方

 

3. 不用浪費記憶體儲存多餘的資料