{service: {
categories: [
{
name: "category1",
id: 1,
questions: [
{
id: 1,
question: "example trivia question here",
value: 2
}, {
id: 2,
question: "example trivia question here",
value: 3
}]
},
{
name: "category2",
id: 2,
questions: [
{
id: 3,
question: "example trivia question here",
value: 5
}
]
},
{
name: "category3",
id: 3
}
]
}};
对于每个类别,我试图计算回答的琐事问题。我如何获得每个类别的答案总数(当存在价值时表示)?我认为我的循环中出现了问题。我也尝试过使用数组原型。对于noob问题抱歉。如何获取嵌套在对象中的数组的总和?
$scope.questionCount = 0;
angular.forEach($scope.service, function(categories, questions) {
for (var i = 0; i < questions.length; i++) {
if (questions[i].value !== null){
triviaCount = 0
triviaCount += 1
$scope.questionCount.push(triviaCount)
}
}
});
您在for循环的每个迭代复位'triviaCount'为零。 –
我觉得你想要像'angular.forEach($ scope.service.categories,function(category){...})'在顶层?然后在里面,像你一样的另一个循环已经经历了这个类别的问题。实际上,在当前代码中没有任何地方访问questions属性 - 只需创建一个名为“questions”的变量,该变量充满了forEach中每个迭代对象的键。 –