【问题标题】:Sort data descending list Firebase Angular2排序数据降序列表 Firebase Angular2
【发布时间】:2017-05-02 07:46:48
【问题描述】:

是否可以在 Angular2 中使用 Firebase 对值进行降序排序?在我的示例中,我想使用时间戳字段作为排序值。

我已经尝试过这种方法,但未能成功对其进行降序排序。

this.items = af.database.list('/items', {
      query: {
        orderByChild: 'timestamp'
      }
    });

我能想到的一个选择是在这些值到达时将它们推送到一个新数组中,然后返回该数组,但这似乎不是最理想的。

【问题讨论】:

标签: angular firebase firebase-realtime-database angularfire2


【解决方案1】:

我不熟悉 Firebase 查询,但如果接收已排序的数据不是严格要求,您可以在收到数据后简单地对数据进行排序。

//using ES 2016 syntax (copy and paste in latest Chrome dev tools to try out)

var times = [new Date('1/1/16').toISOString(),new Date('1/2/16').toISOString(),new Date('1/3/16').toISOString()];

console.log(times);
// ["2016-01-01T05:00:00.000Z", "2016-01-02T05:00:00.000Z", "2016-01-03T05:00:00.000Z"]

var sortedDesc = times.sort((t1,t2) => {
    if(t1 === t2) return 0;
    if(t1 > t2) return -1;
    if(t1 < t2) return 1;
});

console.log(sortedDesc);
// ["2016-01-03T05:00:00.000Z", "2016-01-02T05:00:00.000Z", "2016-01-01T05:00:00.000Z"]
猜你喜欢
  • 2016-02-21
  • 2018-05-23
  • 2017-06-19
  • 1970-01-01
  • 1970-01-01
  • 2011-05-10
  • 2023-03-03
相关资源
最近更新 更多