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”添加了键