Javascript 按降序显示值不需要';行不通
我正在用Ionic和Firebase开发一个应用程序 现在,我尝试按降序显示帖子:从最新到最旧。问题是,无论我做什么操作来保存时间戳,它总是以某种方式从最早的时间戳到最新的时间戳 我试过:Javascript 按降序显示值不需要';行不通,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在用Ionic和Firebase开发一个应用程序 现在,我尝试按降序显示帖子:从最新到最旧。问题是,无论我做什么操作来保存时间戳,它总是以某种方式从最早的时间戳到最新的时间戳 我试过: 按时间戳 按时间戳反转(-1*时间戳) 通过减去一个巨数(9999999999999+(-1*时间戳) 始终相同的结果 更新:以下是我检索它的方法: var myId = firebase.auth().currentUser.uid; var ref = firebase.database().
var myId = firebase.auth().currentUser.uid;
var ref = firebase.database().ref('/accounts/' + myId + '/discussions/');
ref.orderByChild("timestamp").on("value", function(snapshot1) {
this.data = [];
snapshot1.forEach(function(child) {
this.data.push(child.val());
}.bind(this));
$timeout(function(){
$scope.discussions = this.data;
})
})
有什么想法吗?使用.reverse()方法奏效了
最终代码:
var myId = firebase.auth().currentUser.uid;
var ref = firebase.database().ref('/accounts/' + myId + '/discussions/');
ref.orderByChild("timestamp").on("value", function(snapshot1) {
this.data = [];
snapshot1.forEach(function(child) {
this.data.push(child.val());
}.bind(this));
$timeout(function(){
$scope.discussions = this.data.reverse() ;
})
})
它可能是按字符串排序的。Datetime类型在排序时很棘手。有没有办法指定该类型是Datetime或时间戳?您好,尝试过它,给出了相同的精确结果。无论顺序、字符串或日期格式如何。您都需要循环快照的子项,如中所示(christo8989在前面链接了它)。如果在那之后你仍然有同样的问题,请更新你问题中的代码。您好,我刚刚更新了我的原始帖子,向您展示了如何使用此方法显示它,并且我仍然有相同的结果…我不明白…我根本看不到您将其降序到哪里。也许我只是缺少了它?是否有一个.reverse()我只是看不到的地方?