在CoffeeScript中,有時我需要撥打Array.reduce(...)
with a default value;然而,不合理的參數排序意味着初始/默認值在reduce函數本身之後,這意味着我必須使用很多parens,這比CoffeeScript想要的要糟糕得多。具有默認值的Array.reduce的CoffeeScript習慣用法
例如:
items = [ (id:'id1', name:'Foo'), (id:'id2', name:'Bar') ] # ...
itemsById = items.reduce(((memo, item) -> # <-- Too many parens!
memo[item.id] = item
memo), {}) # Ugly!
有沒有一種更地道的方式在CS做到這一點?
我做同樣的事情,尤其是當與回調鏈接函數(例如,當建立一個Underscore管道,甚至鏈接一堆的Ruby的Enumerable方法)。 –