Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

React Native Sort array by date

I am trying to sort results from a prop by date & time. Not sure how to do this.

props.data.map((r) => {
      console.log(r);
    });

array example

{
    "date": "2021-07-17",
    "time": "3:00",
    "title": "First Title",
    "description": "Testing"
}, {
    "date": "2021-07-17",
    "time": "3:00",
    "title": "Second Title",
    "description": "Testing"
}
like image 951
Jerry Seigle Avatar asked Jul 19 '26 02:07

Jerry Seigle


1 Answers

Convert date into timestamp then compare timestamp to sort them using sort array method.

More about sort method on MDN

const data = [
{
    "date": "2021-07-17",
    "time": "3:00",
    "title": "First Title",
    "description": "Testing"
}, {
    "date": "2021-07-18",
    "time": "3:00",
    "title": "Second Title",
    "description": "Testing"
},
{
    "date": "2021-07-18",
    "time": "2:59",
    "title": "Second Title",
    "description": "Testing"
 }
]

const sorted = data.sort((a,b)=>{
  const dateA = new Date(`${a.date} ${a.time}`).valueOf();
  const dateB = new Date(`${b.date} ${b.time}`).valueOf();
  if(dateA > dateB){
    return 1; // return -1 here for DESC order
  }
  return -1 // return 1 here for DESC Order
});
console.log(sorted)
like image 172
Gulam Hussain Avatar answered Jul 21 '26 04:07

Gulam Hussain