我需要帮助,我有3个字段的消息列表。消息,uid和时间。 它显示数据,但是像我们输入数据时那样混合,有些在数组的中间,有些在开头,有些在结尾。 但是我需要显示时间明智,这意味着最新或最新的关闭时间排在最前面或最后。还要附加数据格式。这就是我从服务中获取消息的方式
getAllMessages(){
this.messageService.getAllMessages().subscribe((data)=>{
this.data = data;
console.log(this.data);
});
}
答案 0 :(得分:1)
您需要为此使用管道和map operator(需要导入地图),然后才能利用sort method:
import { map } from 'rxjs/operators';
...
getAllMessages() {
this.messageService.getAllMessages().pipe(
map(messages => messages.sort((a:any, b:any) => b.time.seconds - a.time.seconds)
).subscribe(messages => this.data = messages)
}
我假设您已经有秒,因此在此示例中,您不必转换任何类型的日期obj。如果不是这种情况,我希望可以相应地调整此代码。