0

I have an array like following:

const arr = [{name:"apple", qtySold: 30, revenue: 90}, {name:"pie", qtySold: 10, revenue: 100}, {name:"beer", qtySold: 25, revenue: 95}]

How can I sort this group on the basis of revenue in DESC order? So I want the result to be:

const sortedArr = [{name:"pie", qtySold: 10, revenue: 100}, {name:"beer", qtySold: 25, revenue: 95},{name:"apple", qtySold: 30, revenue: 90}]

I found solutions for object with just one value, but what can I do in this case?

Aidenhsy
  • 915
  • 2
  • 13
  • 28
  • *I found solutions for object with just one value* - the solution to sort an array of objects is the same regardless of if the object has 1 property or 1000. – Rory McCrossan Oct 09 '22 at 13:52
  • I found a common solution to be : arr.sort(function(a, b) { return a[1] - b[1]; }); but how does it know to sort from qtySold or revenue? – Aidenhsy Oct 09 '22 at 13:57

1 Answers1

0

Use sort() method like that.

const arr = [{name:"apple", qtySold: 30, revenue: 90}, {name:"pie", qtySold: 10, revenue: 100}, {name:"beer", qtySold: 25, revenue: 95}]

arr.sort((obj1, obj2) => obj2.revenue - obj1.revenue);

console.log(arr)
Rory McCrossan
  • 331,213
  • 40
  • 305
  • 339
Lukas
  • 2,263
  • 1
  • 4
  • 15