按属性值对对象数组进行排序

按属性值对对象数组进行排序

问题描述:

我使用 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));