在array[time, value];我需要的值总/总和从该二维阵列?
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);
Run Code Online (Sandbox Code Playgroud)
Ply*_*ynx 10
你的问题标题意味着你要总结一个二维数组 - 这是你将如何做到这一点:
array.reduce(function(a,b) { return a.concat(b) }) // flatten array
.reduce(function(a,b) { return a + b }); // sum
Run Code Online (Sandbox Code Playgroud)
在编辑中清楚地仅对值部分求和更加容易:
array.map(function(v) { return v[1] }) // second value of each
.reduce(function(a,b) { return a + b }); // sum
Run Code Online (Sandbox Code Playgroud)
不需要两个循环。这会循环遍历数组并给出每个时间/值对。如果每个时间值对,只需将第一个索引(第二项)相加即可。
var sum = 0;
for(var i=0;i<array.length;i++){
console.log(array[i]);
sum += array[i][1];
}
console.log(sum);
Run Code Online (Sandbox Code Playgroud)
输出:
[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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8211 次 |
| 最近记录: |