我有以下数据:
{
"fruits": [
{
"name": "apple",
"prices": [
{
"2015": 2,
"2014": 3,
"2013": 1
}
]
},
{
"name": "banana",
"prices": [
{
"2015": 4,
"2014": 1,
"2013": 3
}
]
}
]
}
在我的.js文件中,在我的控制器中,我想计算最近一年和前一年的价格之间的差异。
如:
苹果= 3 - 2 = -1
所以在我的HTML中我可以这样做:
<div ng-repeat="fruit in fruits">
{{fruit.name}}, {{fruit.change}}
</div>
我试过以下但没有运气:
angular.forEach($scope.fruits, function(fruit, key) {
angular.forEach(fruit.prices, function(price, key) {
this.change = price[0] - price[1];
});
});
答案 0 :(得分:1)
只是一个错字,而不是this
使用fruit
并且它会起作用。
function calculate(targetYear){
angular.forEach($scope.fruits, function(fruit, key) {
$scope.fruits[key].change = fruit.prices[0][targetYear] - fruit.prices[0][targetYear-1];
});
}
您可以使用以下功能:calculate(2015)
并为每个fruit.change
值设置以显示2015/2014之间的变化