我的数据格式如下:
[{id: 178, uid: "1", when: "2018-01-17", gingerbread: "75", created_at: "2018-01-...,
{id: 179, uid: "1", when: "2018-01-17", gingerbread: "32", created_at... }];
如果我想* ngFor循环遍历这些对象的数组并找到gingerbread
与when
的总和,那么有人可以了解最好的方法吗?
答案 0 :(得分:1)
你可以这样在控制器中:
var myArray = [{id: 178, uid: "1", when: "2018-01-17", gingerbread: "75", created_at: "2018-01-...,
{id: 179, uid: "1", when: "2018-01-17", gingerbread: "32", created_at... }];
$scope.totals = {};
for (var i = 0; i < myArray.length; i++) {
$scope.totals[myarray[i].when] += +myarray[i].gingerbread; //use '+' to coerce a number
}
然后循环遍历HTML中的$scope.totals
对象(您可能还需要将对象键/值对放入对象数组中)
答案 1 :(得分:0)
您应该在控制器或服务器端执行此操作。视图用于显示数据,而不是数学。
答案 2 :(得分:0)
You can make use of this approach, where you can specify your "when" condition here in the if loop.
---
var obj = [
{id: 178, uid: "1", when: "2018-01-17", gingerbread: "75", created_at: "2018-01-01"},
{id: 179, uid: "1", when: "2018-01-17", gingerbread: "32", created_at: "2018-01-01"},
{id: 180, uid: "1", when: "2018-02-18", gingerbread: "24", created_at: "2018-02-18"}
];
var sum = 0;
for(var i=0;i<obj.length;i++){
if(obj[i].when === "2018-01-17") {
sum += parseInt(obj[i].gingerbread);
}
}
alert(sum);