Tirthankar Kundu
Tirthankar Kundu

Reputation: 705

sorting 2d array in node js

From the following code I am getting the appropriate output, but I want the data to come in sorted form i.e the most recent data must come on top. The data must be sorted in descending order according to the difference of current date and 'win_date'.I am new to node.js..earlier in PHP I used to do this by using function array_multisort. Can someone suggest the alternative to do the same in 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

Upvotes: 0

Views: 1088

Answers (1)

thefourtheye
thefourtheye

Reputation: 239483

Based on the answer 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);

Upvotes: 1

Related Questions