Javascript 如何将值按角度推送到嵌套对象?
我有以下数据:Javascript 如何将值按角度推送到嵌套对象?,javascript,angularjs,loops,foreach,push,Javascript,Angularjs,Loops,Foreach,Push,我有以下数据: { "fruits": [ { "name": "apple", "prices": [ { "2015": 2, "2014": 3, "2013": 1 } ] },
{
"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>
只是一个输入错误,而不是
这个
使用水果
,它会工作的
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)
并且它将为每个水果设置。更改
值以显示2015/2014年之间的更改我认为您可以在查看页面中执行此操作,从控制器中获取两个值,并计算工厂中http调用填充的数据,还是类似于静态json或firebase的其他内容?@JoeLloyd点…@Elima不,我需要它在.js中file@JoeLloyd是的,正确的否决理由?价格是对象,它们没有名为0
或1
@Juhana的键。如何获得价格的0
和1
。@murid他们没有这样的键。对象是无序的。如果要查找具有最高值的键,必须首先获取键,对它们进行排序,然后选择第一个。已更改。请现在试一试
function calculate(targetYear){
angular.forEach($scope.fruits, function(fruit, key) {
$scope.fruits[key].change = fruit.prices[0][targetYear] - fruit.prices[0][targetYear-1];
});
}