我有这段代码:
$scope.showReport = function(datas){
data.post('dailyReservationReport',{date:$scope.date}).then(function (response){
$scope.reports = response.data;
console.log($scope.reports);
var sum =0;
for(var index in $scope.reports){
if($scope.reports[index].departuredate == "2015-03-11"){
sum += $scope.reports[index].departuredate;
}
}
console.log(sum);
})
};
我遇到的问题是我想获得离开日期等于2015-03-11
的数据总和。我有2个数据所以总和应该输出2.
但这是我的console.log中的结果:
02015-03-112015-03-11
我做错了什么?请帮忙
答案 0 :(得分:2)
根据您问题中的行:: “我有2个数据,因此总和应输出2”。我认为您只需要增加sum
,因为:
var sum =0;
for(var index in $scope.reports){
if($scope.reports[index].departuredate == "2015-03-11"){
sum++;
}
}
console.log(sum);
答案 1 :(得分:0)
我们必须使用parseInt()
,因为我们的值存储在var
数据类型中它将是字符串格式,如果我们正在为此添加,那么它将返回字符串的连接,所以我们必须使用parseInt()
。
var sum =0;
for(var index in $scope.reports){
if($scope.reports[index].departuredate == "2015-03-11"){
sum = parseInt(sum)+parseInt($scope.reports[index].departuredate); -->changed this line
}
}
答案 2 :(得分:0)
您还可以使用过滤器计算具有特定出发日期的项目:
$filter('filter')($scope.reports, { 'departuredate': '2015-03-11' }).length