在AngularJS中编写代码时,我对service
中的JSON文件发出$http
请求,我需要编写if
语句来检查最后一个值是否大于或小于以前的值。只有当我在for
循环下面放置变量时,它才会起作用,这不应该是这种情况。访问和比较JSON值
当我的长度或数组返回0
。我不确定问题是否存在于我的array
,for loop
或if
声明中。如何迭代JSON文件中的对象并将这些项目推送到数组中?
app.factory('fxRate', ['$http', '$q', function($http, $q){
var factory = {};
factory.getFx = function() {
return $http.get('../json/mcfx.json');
}
return factory;
}]);
app.controller('dashboard', ['$scope', 'fxRate', function($scope, fxRate){
$scope.dailyFx = function() {
fxRate.getFx().then(function(response) {
//handle response or data
var rates = [];
var rateData = response.data.fxrate;
var last_el = rates[rates.length - 1];
var prev_el = rates[rates.length - 2];
console.log(rates)
for (var i in rateData) {
rates.push(rateData[i].usdToEur)
}
if(last_el > prev_el) {
console.log('greater'); //0.9786
} else {
console.log('lesser'); //0.9232
}
});
}
$scope.dailyFx();
}])
{
"fxrate": [
{
"usdToEur": "0.94",
"date": "23/05/2017"
},
{
"usdToEur": "0.9232",
"date": "24/05/2017"
},
{
"usdToEur": "0.9786",
"date": "25/05/2017"
}
]
}
变量,你说哪一个,当你说:“这将只有当我将变量放在for循环之下才有效“? – JeanJacques
'var last_el'和'var prev_el' –