Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sum of two dimensional array

Tags:

javascript

the array[time, value]; I need to total/sum of value from this two dimensional array?

var array =[ 
    [1361824790262, 90.48603343963623],
    [1361828390262, 500.18687307834625],
    [1361831990262, 296.05108177661896], 
    [1361835590262, 423.1198309659958], 
    [1361839190262, 11.86623752117157], 
    [1361842790262, 296.38282561302185], 
    [1361846390262, 424.31847417354584], 
    [1361849990262, 100.07041704654694], 
    [1361853590262, 434.8605388402939],
    [1361857190262, 434.8220944404602],
    [1361860790262, 183.61854946613312]
];
var sum = 0;
//console.log(array.length);
for (var i = 0; i < array.length; i++) {
    //console.log(array[i]);
    for (var j = 0; j < array[i].length; j++) {
        console.log(array[j][i]);
        sum += array[j][i];
    }
}
console.log(sum);

Link for JsFiddle

like image 532
Santosh Avatar asked Feb 26 '13 06:02

Santosh


People also ask

How do you sum a 2D array in Java?

Just do this: for (int i = 0; i < ROWS; i++){ for (int j = 0; j < COLUMNS; j++){ sum = sum + myArray[i][j]; } } System. out. print(sum);


2 Answers

Your question title implies you want to sum a two dimensional array—here's how you would do that:

array.reduce(function(a,b) { return a.concat(b) }) // flatten array
     .reduce(function(a,b) { return a + b });      // sum

To sum only the value portions as you made clear in your edit is even easier:

array.map(function(v) { return v[1] })         // second value of each
     .reduce(function(a,b) { return a + b });  // sum
like image 113
Plynx Avatar answered Oct 21 '22 02:10

Plynx


There's no need for two loops. This loops through the array and gives you each time/value pair. Simply sum the first index (second item) if each time-value pair.

var sum = 0;
for(var i=0;i<array.length;i++){
    console.log(array[i]);
    sum += array[i][1];
}
console.log(sum);

Output:

[1361824790262, 90.48603343963623] 
[1361828390262, 500.18687307834625]
[1361831990262, 296.05108177661896]
[1361835590262, 423.1198309659958] 
[1361839190262, 11.86623752117157] 
[1361842790262, 296.38282561302185]
[1361846390262, 424.31847417354584]
[1361849990262, 100.07041704654694]
[1361853590262, 434.8605388402939] 
[1361857190262, 434.8220944404602] 
[1361860790262, 183.61854946613312]
3195.7829563617706 
like image 28
sachleen Avatar answered Oct 21 '22 01:10

sachleen