Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组值与下划线.js组合_Javascript_Sorting_Coffeescript_Mapreduce_Underscore.js - Fatal编程技术网

Javascript 将数组值与下划线.js组合

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, ((

我设法做了一个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, ((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 }
]

演示:

非常感谢,我甚至从来没有想过要分两步完成。要学的东西很多。。。。谢谢