[英]How to GROUP and SUM json data using angular/ionic?
我有一个看起来像这样的JSON对象:
"Classes": [
{
"ID": "MATH101",
"Class": "Math",
"StudentCount": "2"
},
{
"ID": "MATH101",
"Class": "Math",
"StudentCount": "8"
},
{
"ID": "ENGLISH101",
"Class": "English",
"StudentCount": "13"
}]
此JSON对象存储在$scope
。 如何首先按班级对数据分组,然后对StudentCount求和 ?
因此,生成的JSON对象将类似于以下内容-理想情况下存储为新的作用域变量:
"Classes": [
{
"ID": "MATH101",
"Class": "Math",
"StudentCount": "10"
},
{
"ID": "ENGLISH101",
"Class": "English",
"StudentCount": "13"
}]
我到处搜索过,并且唯一可以找到的示例是结合ng-repeat
进行此操作的示例,但是我这里没有使用它。 我只需要按摩这些数据以用于angular-chartjs。
非常感谢您抽出宝贵时间来研究我的问题。
转换只是一个逻辑部分,您的ng-repeat
以及您可以用来在UI中呈现所需内容的所有功能。
在这里,我正在编写一个可以为您完成工作的函数
function populateSumArray(inputClasses) {
opClasses = [];
inputClasses.forEach(function(item) {
var existing = opClasses.find(function(each) {
return each.Class === item.Class;
});
if (existing) {
existing.StudentCount = parseInt(existing.StudentCount) + parseInt(item.StudentCount);
} else {
opClasses.push(item);
}
});
return opClasses;
}
您可以调用此方法将其转换为新的数组(计算得出),并将其存储在所需的任何位置。 如果您想更新相同的作用域变量,那么这里是一个示例
$scope.Classes = populateSumArray($scope.Classes)
希望能帮助到你 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.