我有来自json的数据这个数据json
var someObject = {
"exam":
[
{
"re": [[{"result": "3"}],[{"result": "1"}],[{"result": "2"}]]
},
{
"re": [[{"result": "4"}],[{"result": "4"}],[{"result": "4"}]]
}
,
{
"re": [[{"result": "2"}],[{"result": "1"}],[{"result": "3"}]]
}
]
};
问题是如何对结果求和?
我尝试过这样的代码
for (var i = 0; i<someObject.exam.length; i++){
for (var y = 0; y < someObject.exam[i].re.length; y++){
$scope.RESS = parseInt(someObject.exam[i].re[y][0].result) +
parseInt(someObject.exam[i].re[y][0].result)
}
}
为什么结果不像
3 + 4 + 2; // 9
1 + 4 + 1; // 6
2 + 4 + 3; // 9
来自plunk xamplle
的这个例子我花了两天时间做这样的事,现在我累了帮我试试
答案 0 :(得分:2)
这是你应该如何计算的:
someObject.exam[0].re.forEach(function(o, i) {
results.push(parseInt(someObject.exam[0].re[i][0].result) + parseInt(someObject.exam[1].re[i][0].result) + parseInt(someObject.exam[2].re[i][0].result));
});
<强>演示:强>
var someObject = {
"exam": [{
"re": [
[{
"result": "3"
}],
[{
"result": "1"
}],
[{
"result": "2"
}]
]
},
{
"re": [
[{
"result": "4"
}],
[{
"result": "4"
}],
[{
"result": "4"
}]
]
},
{
"re": [
[{
"result": "2"
}],
[{
"result": "1"
}],
[{
"result": "3"
}]
]
}
]
};
var results = [];
someObject.exam[0].re.forEach(function(o, i) {
results.push(parseInt(someObject.exam[0].re[i][0].result) + parseInt(someObject.exam[1].re[i][0].result) + parseInt(someObject.exam[2].re[i][0].result));
});
console.log(results);