在CoffeeScript中增加价格X数量的更有效方法?
我想遍历一个项目数组,将价格乘以数量,然后得到一个总数。我已经写了下面的内容,但我想知道是否有一种比使用for循环更有效的方法,就像在一些神奇的单行程序中一样在CoffeeScript中增加价格X数量的更有效方法?,coffeescript,Coffeescript,我想遍历一个项目数组,将价格乘以数量,然后得到一个总数。我已经写了下面的内容,但我想知道是否有一种比使用for循环更有效的方法,就像在一些神奇的单行程序中一样 test = [ { price: 13 qty: 2 }, { price: 40 qty: 3 } ] total = 0 for item in test total += item.price * item.qty alert total 我觉得不错。你可以做一个单人航班
test = [
{
price: 13
qty: 2
},
{
price: 40
qty: 3
}
]
total = 0
for item in test
total += item.price * item.qty
alert total
我觉得不错。你可以做一个单人航班
total = (item.price * item.qty for item in test).reduce (t,s) -> t + s
但我不认为这是任何改进,几乎可以肯定效率较低。与OP相同,只是稍微短一点-与您的稍有调整
test = [
{
price: 13
qty: 2
},
{
price: 40
qty: 3
}
]
total += (p.price * p.qty) for p in test
或者再短一点:
total += p.price * p.qty for p in test
我找到了一种计算延迟函数的方法。我指的是你刚才删除的问题。如果你可以取消删除它,我可以张贴我的解决方案那里。很抱歉在这里发表评论。是的,正是我想要的!我的双线for-loop的单线替换。我就是搞不懂语法。谢谢很酷,你可以删除两个字符来缩短表达,我只是习惯性的这么做。