我需要遍历一个数组数组并计算每个数组的总和。 Json是一个带有x,y坐标数组的kendo-ui图表系列。我需要返回x,y值的总和。 linq.js或javascript将工作。谢谢 JSON
var =series = [{
"style":"smooth",
"color":"blue",
"data":[
[600,30000],
[800,60000],
[1100,100000]
],
"name":"Subject Property",
"removeByNames":[
["Product1"],
["Product2"],
["Product3"]
],
"$$hashKey":"object:30"
}]
因此,对于这个例子,我需要最终得到这个
var newSeries = [{
"style":"smooth",
"color":"blue",
"data":[
[30600],
[60800],
[101100]
],
"name":"Subject Property",
"removeByNames":[
["Product1"],
["Product2"],
["Product3"]
],
"$$hashKey":"object:30"
}]
答案 0 :(得分:3)
for(var i=0;i<series[0].data.length;i++){
var val = series[0].data[i];
newSeries.data[i] = val[0] + val[1];
}
答案 1 :(得分:1)
您可以使用循环并使用reduce
var series = [{
...
}]
for (var i = 0; i < series.length; i++) {
for (var j = 0; j < series[i].data.length; j++) {
series[i].data[j] = series[i].data[j].reduce(function(p,c) {
return p + c;
});
}
}
答案 2 :(得分:1)
你只需要在数据属性中循环这样的值......
for( var i - 0; i < series.length-1; i++){
for( var j - 0; j < series[i].data.length-1; i++){
var result = series[i].data[j][0] + series[i].data[j][1];
series[i].data[j] = result;
}
}
现在添加新数据阵列是有意义的,以免覆盖
series[i].new_data[j] = result;
答案 3 :(得分:1)
os.path.expanduser
非常有用:
os.path.expanduser("~")