Javascript 将数组值与下划线.js组合
我设法做了一个coffescript map reduce,从数据库中取出我需要的东西Javascript 将数组值与下划线.js组合,javascript,sorting,coffeescript,mapreduce,underscore.js,Javascript,Sorting,Coffeescript,Mapreduce,Underscore.js,我设法做了一个coffescript map reduce,从数据库中取出我需要的东西 inputarray = _.map _.groupBy(inputarrayz, 'Price'), (v, k) -> {Price: k, Money_Amount: _.reduce(v, ((m, i) -> m + i['Money_Amount']), 0), Product_Amount: _.reduce(v, ((
inputarray = _.map _.groupBy(inputarrayz, 'Price'), (v, k) ->
{Price: k,
Money_Amount: _.reduce(v, ((m, i) -> m + i['Money_Amount']), 0),
Product_Amount: _.reduce(v, ((m, i) -> m + i['Product_Amount']), 0)}
sorted = _.sortBy inputarray,"Price"
return sorted
我有一个这样的排序结果表
价格/货币/产品
1/2/2
2/10/5
3/9/3
其中产品数量是货币除以价格。
现在我想有第四列来获得组合的产品计数,从第一行开始,然后倒计时。
例如:
1/2/2/2仅2种产品
2/10/5/7 5+之前的2
3/9/3/12所有在+3之前
我试着在jquery中这样做,因为当我想到MapReduce时,我的头开始爆炸……是什么导致在添加构造之前出现一些奇怪的表行。
希望有人能帮我
非常感谢。对于reduce来说,总计是一个非常经典的例子。您只需在排序后添加另一个reduce,以计算运行总数并将其存储在对象中,如:
running_total = (t, p) -> p.Total = t + p.Product
_(sorted).reduce running_total, 0
这将为您提供如下排序结果:
sorted = [
{ Price: 1, Money: 2, Product: 2, Total: 2 }
{ Price: 2, Money: 10, Product: 5, Total: 7 }
{ Price: 3, Money: 9, Product: 3, Total: 10 }
]
演示:非常感谢,我甚至从来没有想过要分两步完成。要学的东西很多。。。。谢谢