Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs/javascript中对象的操作_Javascript_Angularjs - Fatal编程技术网

angularjs/javascript中对象的操作

angularjs/javascript中对象的操作,javascript,angularjs,Javascript,Angularjs,我的script.js中包含以下数据: $scope.reports=[{ 出发日期:“2015-2-27”, 罗特琳:“帕赛-卡加扬”, 座椅类型代码:“ABS”, ticketripcode:“3”, tripcodetime:“16:30:00” }, { 出发日期:“2015-2-27”, 罗特琳:“帕赛-卡加扬”, 座椅类型代码:“ABS”, ticketripcode:“3”, tripcodetime:“16:30:00” },{ 出发日期:“2015-2-27”, 罗特琳:“帕赛

我的script.js中包含以下数据:

$scope.reports=[{
出发日期:“2015-2-27”,
罗特琳:“帕赛-卡加扬”,
座椅类型代码:“ABS”,
ticketripcode:“3”,
tripcodetime:“16:30:00”
}, {
出发日期:“2015-2-27”,
罗特琳:“帕赛-卡加扬”,
座椅类型代码:“ABS”,
ticketripcode:“3”,
tripcodetime:“16:30:00”
},{
出发日期:“2015-2-27”,
罗特琳:“帕赛-卡加扬”,
座椅类型代码:“ABS”,
ticketripcode:“3”,
tripcodetime:“16:30:00”
},{
出发日期:“2015-3-1”,
罗特琳:“卡维特拉古纳”,
座椅类型代码:“ABS”,
ticketripcode:“4”,
tripcodetime:“16:30:00”
}, {
出发日期:“2015-3-1”,
罗特琳:“卡维特拉古纳”,
座椅类型代码:“ABS”,
ticketripcode:“4”,
tripcodetime:“16:30:00”
},{
出发日期:“2015-3-2”,
罗特琳:“大地天堂”,
座椅类型代码:“ABS”,
ticketripcode:“5”,
tripcodetime:“16:30:00”
}];

我希望实现如下输出:

{
3:{
2015-2-27: 3,
2015-2-28: 0,
2015-3-1:  0,
2015-3-2:  0,
2015-3-3:  0,
罗特琳:“帕赛-卡加扬”
},
4:{
2015-2-27: 0,
2015-2-28: 0,
2015-3-1:  1,
2015-3-2:  0,
2015-3-3:  0,
罗特琳:“卡维特拉古纳”
}
5:{
2015-2-27: 0,
2015-2-28: 0,
2015-3-1:  0,
2015-3-2:  1,
2015-3-3:  0,
罗特琳:“天地”
}
}

3
4
5
表示
tickettripcode
位于
$scope.reports
。日期是用户输入的日期范围。我想做的是计算某些票证密码中的出发日期

例如,在
ticketripcode:3
中有3个相同的日期(2015-2-27)。在
ticketripcode:4
中有2个相同的日期(2013-3-1)。在
ticketripcode:4
中只有一个日期(2013-3-2)。如果给定日期中没有departuredate,则该值应返回
0
,如上所示

我已经完成了一个代码,但是我得到了错误的输出,因为它打印了所有
0
。就这样,

{
3:{
2015-2-27: 0,
2015-2-28: 0,
2015-3-1:  0,
2015-3-2:  0,
2015-3-3:  0,
罗特琳:“帕赛-卡加扬”
},
}

我做错了什么。有什么帮助吗?非常感谢


我的plunker链接是:

您将
映射[pushDatesInsideValue]
重置为0。检查此链接(从您的链接分叉):

试试这个

  var details = {};

  angular.forEach($scope.reports, function (report) {
    if (!details[report.tickettripcode]) {
      details[report.tickettripcode] = {};
      details[report.tickettripcode].routeline = report.routeline;
    }

    angular.forEach(pushDatesInside, function (el) {
      if (typeof details[report.tickettripcode][el.date] === 'undefined') {
        details[report.tickettripcode][el.date] = 0;
      }
    });

    details[report.tickettripcode][report.departuredate] += 1;
  });

非常感谢您。非常感谢亚历山大。