angularjs/javascript中对象的操作
我的script.js中包含以下数据: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”, 罗特琳:“帕赛
$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;
});
非常感谢您。非常感谢亚历山大。