在 JavaScript 中按属性值对对象数组进行排序
JavaScript 提供了一种优雅的解决方案来按特定属性对对象数组进行排序。此功能对于组织列表、获取不同元素和执行数据分析至关重要。
问题陈述:
您已通过 AJAX 检索了一个对象数组,并希望根据“价格”属性对它们进行排序。排序应允许升序和降序。
解决方案:
升序
对对象进行排序价格升序,使用以下 JavaScript函数:
homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));
或者,对于 ES6 及更高版本:
homes.sort((a, b) => a.price - b.price);
降序
按价格降序对对象进行排序,使用:
homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
或ES6:
homes.sort((a, b) => b.price - a.price);
记得在比较之前将字符串价格解析为数字 (parseFloat)。
示例:
对于给定的数组的对象,按价格升序排序会产生:
[ { "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" } ]
并且按降序排列:
[ { "h_id": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" }, { "h_id": "4", "city": "Bevery Hills", "state": "CA", "zip": "90210", "price": "319250" }, { "h_id": "3", "city": "Dallas", "state": "TX", "zip": "75201", "price": "162500" } ]
这种排序功能允许在 JavaScript 应用程序中灵活高效地进行数据操作。
以上是如何在 JavaScript 中按属性值对对象数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!