0

次のコードから適切な出力が得られますが、データを並べ替えた形式にする必要があります。つまり、最新のデータが一番上に来る必要があります。データは、現在の日付と 'win_date' の違いに従って降順で並べ替える必要があります。誰かがnodejsで同じことをする代替案を提案できますか?

var post=[];

var sql2 ="SELECT `post_id`, `user_id`, `post`, `votes_count`, `win_date` FROM `tb_winning_posts` WHERE  `group_id`=?";
 connection.query(sql2,[groupId],function(err, result) {

 });

for(var i=0;i<result.length;i++)
{
var timeDiff = getTimeDifference(result[i].win_date);   //returns diff of cur date & given   date in day,hour,min
post.push({"post_id":result[i].post_id,"post":result[i].post,"votes":result[i].votes_count,"date":timeDiff}); 

}
console.log(post); //getting the data in order as stored in database
4

1 に答える 1

1

回答に基づくhttps://stackoverflow.com/a/8837511/1903116

post.sort(function(a, b){
    var keyA = a.date, keyB = b.date;
    if(keyA < keyB) return 1;
    if(keyA > keyB) return -1;
    return 0;
});
console.log (post);
于 2013-08-17T12:25:46.547 に答える