gpt4 book ai didi

javascript - 获取分组数据的总和angularjs - angular-filter

转载 作者:行者123 更新时间:2023-11-30 12:03:02 25 4
gpt4 key购买 nike

我正在使用 Angular 过滤器对数据进行分组。虽然我能够对数据进行分组并获取数据长度 (orderfood),但我无法在我的分组数据中获取 qty 的总和。我的plunk demo

我得到的结果

Isnain Meals - 2

Chicken Burger - 2

我需要的结果

Isnain Meals - 4 //sum of qty of Isnain Meals from JSON data (1+3)

Chicken Burger - 9 //sum of qty of Chicken Burger from JSON data (3+6)

JSON 数据

$scope.orders = [{
"_id": "56b0c315e179bb0e00a44dbf",
"orderfood": [{
"_id": "569d865bff1fe20e00f8ba97",
"qty": "1",
"confirm": true,
"price": 154,
"name": "Isnain Meals"
}, {
"_id": "569d865bff1fe20e00f8ba98",
"qty": "3",
"confirm": true,
"price": 154,
"name": "Isnain Meals"
}],
"content": "9176649143",
"created": "2016-02-02T14:54:13.926Z"
}, {
"_id": "56b06ed25b53250e00ccbd73",
"orderfood": [{
"_id": "569d84f04834c10e003dff36",
"qty": "6",
"confirm": true,
"price": 125,
"name": "Chicken Burger"
}],
"content": "6886058585",
"created": "2016-02-02T08:54:42.986Z"
}, {
"_id": "56b06ed25b53250e00ccbd74",
"orderfood": [{
"_id": "569d84f04834c10e003dff37",
"qty": "3",
"confirm": true,
"price": 125,
"name": "Chicken Burger"
}],
"content": "6886058585",
"created": "2016-02-02T08:54:42.986Z"
}];

Controller 代码

$scope.getOrderFoods = function() {
var orderfood = [];

angular.forEach($scope.orders, function(order) {
angular.forEach(order.orderfood, function(orderfoo) {
if (orderfood.indexOf(orderfoo) == -1) {
orderfood.push(orderfoo);
}
})
});
return orderfood;
}

HTML

<div ng-repeat="(key,data) in getOrderFoods() | groupBy:'name'">
<p>{{key}} - {{data.length}}</p>
<!-- instead of the data.length, i need the sum of qty -->
</div>

我的 plunk demo

最佳答案

您可以使用javascript Array.reduce 方法生成数量总和。这是 Plunk

<div ng-repeat="(key,data) in getOrderFoods() | groupBy:'name'">
<p>{{key}} - {{reduce(data)}}</p>
</div>


$scope.reduce= function(data){
return data.reduce(function(previousValue,currentValue, currentIndex, array){
return previousValue + parseInt(currentValue.qty);
}, 0);
}

关于javascript - 获取分组数据的总和angularjs - angular-filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36156325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com