我有一组 json 值,如下所示
{"labels":[ "time", "softirq", "user", "system", "nice", "iowait" ], "data":[ [ 1490088352, 0, 14.64646, 3.53535, 0, 1.0101 ], [ 1490088351, 0, 27.77778, 3.0303, 0, 0 ], [ 1490088350, 0.49751, 12.93532, 2.98508, 0, 4.47761 ] }
我想解析这个 json .sum 标签 { "softirq", "user", "system", "nice", "iowait"}
值并存储在名为 "的单独值中和”。我的最终输出应如下所示:
{ "time" : 1490088352 , "sum": "the value which we added "}
{"time" : 1490088351 , "sum": "the value which we added "}
{"time" : 1490088350 , "sum": "the value which we added "}
谁能帮我解决这个问题吗?
最佳答案
使用Array#reduce
将数组减少为单个值
Array.slice(1)
将返回不包括第一个值的数组
var data = {
"labels": ["time", "softirq", "user", "system", "nice", "iowait"],
"data": [
[1490088352, 0, 14.64646, 3.53535, 0, 1.0101],
[1490088351, 0, 27.77778, 3.0303, 0, 0],
[1490088350, 0.49751, 12.93532, 2.98508, 0, 4.47761]
]
};
var op = [];
data.data.forEach(function(el) {
var obj = {
time: el[0]
};
obj.sum = el.slice(1).reduce(function(a, b) {
return a + b;
});
op.push(obj);
});
console.log(op);
关于javascript - Json 解析并总结 json 内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42923188/