SHOW:
|
|
- or go back to the newest paste.
| 1 | function (key, values, rereduce) { | |
| 2 | // value -> [count, min, max, mean] | |
| 3 | var i = 0 | |
| 4 | , l = values.length | |
| 5 | , min = values[i][2] // set min to the first max | |
| 6 | , max = 0 | |
| 7 | , mean = 0 | |
| 8 | , count = 0 | |
| 9 | ; | |
| 10 | ||
| 11 | for (; i < l; i++) { | |
| 12 | min = Math.min(min, values[i][1]); | |
| 13 | max = Math.max(max, values[i][2]); | |
| 14 | mean = ((mean * count) + (values[i][3] * values[i][0])) / (count + values[i][0]); | |
| 15 | count = count + values[i][0]; | |
| 16 | } | |
| 17 | ||
| 18 | return [min, max, mean]; | |
| 19 | } |