Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 对对象的json数组中的值求和_Angularjs_Arrays_Json - Fatal编程技术网

Angularjs 对对象的json数组中的值求和

Angularjs 对对象的json数组中的值求和,angularjs,arrays,json,Angularjs,Arrays,Json,我试图对“任务数”求和,但没有得到结果 { "Chemistry - II": [ { "id": "9", "title": "Solid State", "quecount": 12 }, { "id": "10", "title": "Solutions", "quecount": 9 }, { "id": "11", "title": "Electrochemistry", "quecount": 8 }, { "id": "6", "title": "d and f- Block el

我试图对“任务数”求和,但没有得到结果

{ "Chemistry - II": [ { "id": "9", "title": "Solid State", "quecount": 12 }, { "id": "10", "title": "Solutions", "quecount": 9 }, { "id": "11", "title": "Electrochemistry", "quecount": 8 }, { "id": "6", "title": "d and f- Block elements", "quecount": 42 } ], "Physics": [ { "id": "3", "title": "Circular Motion", "quecount": 5 } ] }
$scope.chlist;
对于(i=0;i<$scope.chlist.length;i++)
{  
总计+=$scope.chlist[i].quecount;
}
$scope.totque=总计;
我们将非常感谢您的帮助。 谢谢您..

(i=0;i<$scope.chlist[“Chemistry-II”]。长度;i++){
$scope.chlist;
    for (i = 0; i < $scope.chlist.length; i++) 
    {  
        total += $scope.chlist[i].quecount; 
    }

    $scope.totque = total;
总计+=$scope.chlist[“Chemistry-II”][i].quecount; }
尝试为(i=0;i<$scope.chlist[“Chemistry-II”]。length;i++)添加键-“Chemistry-II”

{
总计+=$scope.chlist[“Chemistry-II”][i].quecount;
} 

尝试添加键-“Chemistry-II”

使用
角度.forEach
循环所有
组(如:Chemistry-II),对于每个要计算
quecount的组

在您的控制器上:

for (i = 0; i < $scope.chlist["Chemistry - II"].length; i++) {  
    total += $scope.chlist["Chemistry - II"][i].quecount;
} 

使用
angular.forEach
循环所有
(如:Chemistry-II),对于要计算
任务计数的每个组

在您的控制器上:

for (i = 0; i < $scope.chlist["Chemistry - II"].length; i++) {  
    total += $scope.chlist["Chemistry - II"][i].quecount;
} 

您可以使用
Array.prototype.map()
Array.prototype.reduce()

let chlist={
“化学-II”:[{
“id”:“9”,
“标题”:“固态”,
“任务数”:12
}, {
“id”:“10”,
“标题”:“解决方案”,
“任务数”:9
}, {
“id”:“11”,
“标题”:“电化学”,
“任务数”:8
}, {
“id”:“6”,
“标题”:“d和f-块元素”,
“任务数”:42
}],
“物理学”:[{
“id”:“3”,
“标题”:“圆周运动”,
“任务数”:5
}]
};
Object.values(chlist.forEach)(函数(v){
log(v.map(o=>o.quecount).reduce((a,b)=>a+b));

});
您可以使用
Array.prototype.map()
Array.prototype.reduce()

let chlist={
“化学-II”:[{
“id”:“9”,
“标题”:“固态”,
“任务数”:12
}, {
“id”:“10”,
“标题”:“解决方案”,
“任务数”:9
}, {
“id”:“11”,
“标题”:“电化学”,
“任务数”:8
}, {
“id”:“6”,
“标题”:“d和f-块元素”,
“任务数”:42
}],
“物理学”:[{
“id”:“3”,
“标题”:“圆周运动”,
“任务数”:5
}]
};
Object.values(chlist.forEach)(函数(v){
log(v.map(o=>o.quecount).reduce((a,b)=>a+b));

});试试这个:

for (i = 0; i < $scope.chlist["Chemistry - II"].length; i++) {  
    total += $scope.chlist["Chemistry - II"][i].quecount;
} 
var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.jsonObj={
“化学-II”:[{
“id”:“9”,
“标题”:“固态”,
“任务数”:12
}, {
“id”:“10”,
“标题”:“解决方案”,
“任务数”:9
}, {
“id”:“11”,
“标题”:“电化学”,
“任务数”:8
}, {
“id”:“6”,
“标题”:“d和f-块元素”,
“任务数”:42
}],
“物理学”:[{
“id”:“3”,
“标题”:“圆周运动”,
“任务数”:5
}]
};
var chemistryQuecount=0;
var physicsQuecount=0;
for(var i在$scope.jsonObj中){
如果(i=='Chemistry-II'){
for(var j在$scope.jsonObj[i]中){
chemistryQuecount+=$scope.jsonObj[i][j].quecount;
}
}
如果(i==‘物理’){
for(var j在$scope.jsonObj[i]中){
physicsQuecount+=$scope.jsonObj[i][j].quecount;
}
}
}
控制台日志(chemistryQuecount);
console.log(physicsQuecount);
});

试试这个:

for (i = 0; i < $scope.chlist["Chemistry - II"].length; i++) {  
    total += $scope.chlist["Chemistry - II"][i].quecount;
} 
var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.jsonObj={
“化学-II”:[{
“id”:“9”,
“标题”:“固态”,
“任务数”:12
}, {
“id”:“10”,
“标题”:“解决方案”,
“任务数”:9
}, {
“id”:“11”,
“标题”:“电化学”,
“任务数”:8
}, {
“id”:“6”,
“标题”:“d和f-块元素”,
“任务数”:42
}],
“物理学”:[{
“id”:“3”,
“标题”:“圆周运动”,
“任务数”:5
}]
};
var chemistryQuecount=0;
var physicsQuecount=0;
for(var i在$scope.jsonObj中){
如果(i=='Chemistry-II'){
for(var j在$scope.jsonObj[i]中){
chemistryQuecount+=$scope.jsonObj[i][j].quecount;
}
}
如果(i==‘物理’){
for(var j在$scope.jsonObj[i]中){
physicsQuecount+=$scope.jsonObj[i][j].quecount;
}
}
}
控制台日志(chemistryQuecount);
console.log(physicsQuecount);
});


您需要分别计算化学和物理的总计还是全部的总计?您需要分别计算化学和物理的总计还是全部的总计?@prashantfaple更新了代码,为“for”和“total”添加了键@prashantfaple更新了代码,为“for”和“total”添加了键