How to sort the array of objects by key in JavaScript

by Sai gowtham1min read

JavaScript has an inbuilt sort method which helps us to sort the array of the objects easily; we don’t need to write our own custom sort methods.

consider we have an array of objects with name and price properties.

const vegetables =  [

    {name:"beans",price: 5},
    {name:"tomato",price: 3},
    {name:"pumpkin",price: 2},
    {name:"broccoli",price: 7},
]

We need to sort the vegetables array in ascending order by using its price property.

example:

const vegetables =  [

     {name:"beans",price: 5},
     {name:"tomato",price: 3},
     {name:"pumpkin",price: 2},
     {name:"broccoli",price: 7},
]


console.log(vegetables.sort((a,b) =>  a.price-b.price ))
output - >

[
  {name: "pumpkin", price: 2},
  {name: "tomato", price: 3},
  {name: "beans",  price: 5},
  {name: "broccoli", price: 7}
]

Array.sort() : The sort method takes the callback function as its argument and returns the sorted array.

The return condition inside the callback function.

  • if our return condition is a - b then it sorts the array in ascending order.

  • if our return condition is b - a then it sorts the array in descending order.

Let’s sort our vegetables array in descending order.

console.log(vegetables.sort((a,b) =>  b.price-a.price ))
output- >

[
  {name: "broccoli",price: 7},
  {name: "beans",price: 5},
  {name: "tomato",price: 3},
  {name: "pumpkin",price: 2}
]