Home >Web Front-end >JS Tutorial >How to Sort an Array of JavaScript Objects by a Specific Property Value (e.g., Price)?
Sorting Objects by Property Values in JavaScript
When handling arrays of objects, sorting them by specific property values can be essential for managing and visualizing data. Let's explore how to achieve this sorting functionality using JavaScript.
Question:
Given an array of objects representing home data, how do we create a function to sort them by their "price" property in either ascending or descending order?
Objects Array:
Consider the following homes array:
var homes = [ { "h_id": "3", "city": "Dallas", "state": "TX", "zip": "75201", "price": "162500" }, { "h_id": "4", "city": "Bevery Hills", "state": "CA", "zip": "90210", "price": "319250" }, { "h_id": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" } ];
Sorting Functions:
To sort the homes array, we can utilize the built-in sort() method. This method expects a comparison function as its argument. The comparison function takes two elements as input and returns a negative number if the first element should come before the second, a positive number if the second element should come before the first, or zero if the elements are considered equal.
Ascending Order:
To sort the homes in ascending order by price, we define a comparison function that subtracts the price of the first element from the price of the second element and compares the difference. If the difference is negative, it means the first element's price is less than the second's price, and the first element should come before the second.
homes.sort(function(a, b) { return parseFloat(a.price) - parseFloat(b.price); });
Or in ES6 syntax:
homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));
Descending Order:
For descending order, we can reverse the comparison function by subtracting the price of the second element from the price of the first element.
homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
Result:
After sorting, the homes array will be sorted based on the specified order. You can print the modified array to verify the sorting.
The above is the detailed content of How to Sort an Array of JavaScript Objects by a Specific Property Value (e.g., Price)?. For more information, please follow other related articles on the PHP Chinese website!