私は次のようなアイテムの配列を持っています:
@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が大好きなので、私が見逃しているこれと同様のシナリオに対するより良い解決策があることを願っています.