按属性值对对象数组进行排序
问题描述:
我使用 AJAX 获得了以下对象并将它们存储在一个数组中:
I've got the following objects using AJAX and stored them in an 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"
}
];
我如何创建一个函数,以升序 或 降序的price
属性对对象进行排序只使用 JavaScript?
How do I create a function to sort the objects by the price
property in ascending or descending order using JavaScript only?
答
按价格升序排列房屋:
homes.sort(function(a, b) {
return parseFloat(a.price) - parseFloat(b.price);
});
或者在 ES6 版本之后:
Or after ES6 version:
homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));
一些文档可以在这里找到.
对于降序,您可以使用
homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));