How to sort the array of objects by key in JavaScript
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}
]