Я пытаюсь показать данные как дату в моем приложении angular 5. У меня есть массив списка дат uniq и массив данных. Мне нужны данные, как показано ниже
19/01/2018
Хайдарабад, Ченнаи
20/01/2018
Ченнаи, Дели
21/01/2018
Хайдарабад, Мумбаи
Arrays I have like this
dates_list = [19/01/2018, 20/01/2018, 21/01/2018];
data_list = [{
name: "Hyderabad"
date: "19/01/2018",
},
{
name: "Chennai"
date: "19/01/2018",
},
{
name: "Chennai"
date: "20/01/2018",
},
{
name: "Delhi"
date: "20/01/2018",
},
{
name: "Mumbai"
date: "21/01/2018",
},
{
name: "Hyderabad"
date: "19/01/2018",
}
]
Подскажите, пожалуйста, как это сделать. Спасибо
Вы хотите создать группу, см., Например, stackoverflow.com/questions/40774697/…



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


TS:
filterdArray: Array<any> = [];
dates_list = ['19/01/2018', '20/01/2018', '21/01/2018'];
data_list = [{
name: "Hyderabad",
date: "19/01/2018",
},
{
name: "Chennai",
date: "19/01/2018",
},
{
name: "Chennai",
date: "20/01/2018",
},
{
name: "Delhi",
date: "20/01/2018",
},
{
name: "Mumbai",
date: "21/01/2018",
},
{
name: "Hyderabad",
date: "19/01/2018",
}
];
constructor() {
this.getValiDates();
}
getValiDates() {
this.dates_list.forEach(el => {
this.filterdArray.push({ key: el, data: this.data_list.filter(data => data.date == el) });
})
}
HTML:
<div *ngFor = "let d of filterdArray; let i = index">
{{d.key}}
<div *ngFor = "let data of d.data">
{{data | json}}
</div>
</div>
пожалуйста, проголосуйте, если это помогло, чтобы другие могли легко его найти.
одна вещь, которую вы можете сделать, это преобразовать дату в метку времени, после чего вы сможете легко их сравнить, но может быть какой-то лучший подход