我有一系列这样的项目:
@items = [
{price: 12, quantity:1},
{price: 4, quantity:1},
{price: 8, quantity:1}
]
我正在寻找这样的东西:
sumPrice: ->
@items.sum (item) -> item.price * item.quantity
或者任何尽可能接近这个的东西,这使得每个阅读代码的人都可以非常容易地理解发生了什么。
到目前为止,我想出了:
sumPrice: ->
(items.map (a) -> a.price * a.quantity).reduce (a, b) -> a + b
- 包含太多的功能魔法
- 失去描述性
和:
sumPrice: ->
sum = 0
for item in items
sum += item.price * item.quantity
sum
- 新手 JS/Coffee 程序员可以理解
- 感觉有点傻
我喜欢 CoffeeScript,所以我希望有一个更好的解决方案来解决我想念的类似场景。