0

Basically I want sort an array like this:

[
  { date: '5/18/2020', number: 22 },
  { date: '5/19/2021', number: 20 },
  { date: '5/18/2021', number: 18 },
  { date: '5/18/2021', number: 23}
]

I using this to get closest items with 20:

const results = data.sort((a, b) => {
    return Math.abs(20- a.number) - Math.abs(20- b.number);
});

The results should like this:

[
  { date: '5/19/2021', number: 20 },
  { date: '5/18/2020', number: 22 },
  { date: '5/18/2021', number: 18 },
  { date: '5/18/2021', number: 23}
]

But I also want get the results by newest items this:

[
  { date: '5/19/2021', number: 20 },
  { date: '5/18/2021', number: 18 },
  { date: '5/18/2020', number: 22 },
  { date: '5/18/2021', number: 23}
]

How do I do that?

Thanks in advance!

Duy Hoang Nguyen
  • 85
  • 1
  • 1
  • 6

0 Answers0