CoffeeScript攻略4.8:歸納陣列
問題
你有一個物件陣列,想要把它們歸納為一個值,類似於Ruby中的reduce()和reduceRight()。
方案
可以使用Array的reduce()和reduceRight()方法,再使用一個匿名函式,保持程式碼清晰易懂。這裡歸納可能會像對數值和字串應用+運算子那麼簡單。
[1,2,3,4].reduce (x,y) -> x + y
# => 10
["words", "of", "bunch", "A"].reduceRight (x, y) -> x + " " + y
# => 'A bunch of words'
或者,也可能更復雜一些,例如把列表中的元素聚集到一個組合物件中。
people =
{ name: 'alec', age: 10 }
{ name: 'bert', age: 16 }
{ name: 'chad', age: 17 }
people.reduce (x, y) ->
x[y.name]= y.age
x
, {}
# => { alec: 10, bert: 16, chad: 17 }
討論
Javascript 1.8中引入了reduce 和reduceRight,而Coffeescript為匿名函式提供了簡單自然的表達語法。二者配合使用,可以把集合的項合併為組合的結果。
相關文章
- 工具歸納
- 第四章:多維陣列和矩陣 ------------- 4.8 子矩陣的最大累加和陣列矩陣
- 2個有序陣列,歸併重拍陣列
- 微軟程式歸納新技術:元程式歸納微軟
- openpyxl淺歸納
- Spring歸納小結Spring
- 【組合數學】組合數學簡介 ( 組合思想 2 : 數學歸納法 | 數學歸納法推廣 | 多重歸納思想 )
- ROS入門教程歸納1ROS
- HTML標籤,簡單歸納HTML
- Linux基礎命令歸納大全Linux
- Laravel驗證器用法歸納Laravel
- Kotlin知識歸納(十四) —— 反射Kotlin反射
- jQuery學習總結歸納jQuery
- HTML5 標籤歸納HTML
- Kotlin知識歸納(八) —— 序列Kotlin
- Kotlin知識歸納(七) —— 集合Kotlin
- Kotlin知識歸納(五) —— LambdaKotlin
- 04-歸納概括題3
- XML與JSON學習歸納XMLJSON
- Java執行緒池歸納Java執行緒
- 查詢陣列中相似欄位(陣列裡面某個值相似歸類到一起)陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 追蹤原始碼的方式歸納原始碼
- Android事件分發原始碼歸納Android事件原始碼
- Kotlin知識歸納(九) —— 約定Kotlin
- Kotlin知識歸納(十二) —— 泛型Kotlin泛型
- Kotlin知識歸納(十) —— 委託Kotlin
- Kotlin知識歸納(十三) —— 註解Kotlin
- 思科交換機配置命令歸納
- LeetCode C++ 劍指 Offer 51. 陣列中的逆序對【歸併排序/樹狀陣列/線段樹】LeetCodeC++陣列排序
- 歸併排序:陣列和連結串列的多種實現排序陣列
- 陣列,陣列類,SyStem類陣列
- Java陣列03:陣列使用Java陣列
- 4.8
- Vue 路由知識點歸納總結Vue路由
- MySQL MHA工具的優缺點歸納MySql
- 歸納避免同步鎖的幾種方式
- PHP 面試知識點整理歸納PHP面試
- Laravel-admin 問題歸納總結Laravel