多字段数组排序
在之前的问题中,我们探索了基于单个字段的数组排序。然而,现实场景通常需要根据多个标准进行排序。本文演示了如何采用该方法进行多字段排序。
具体示例:城市和价格
考虑以下 Homes 数组,我们需要按城市排序(升序)然后价格(降序):
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":"6", "city":"Dallas", "state":"TX", "zip":"75000", "price":"556699" }, { "h_id":"5", "city":"New York", "state":"NY", "zip":"00010", "price":"962500" } ];
多字段排序方法
要基于多个字段进行排序,我们可以使用链式排序方法,该方法涉及一次比较所选字段的值,直到找到一个
实现
data.sort(function (a, b) { return a.city.localeCompare(b.city) || b.price - a.price; });
说明
输出
[ { "h_id": "3", "city": "Dallas", "state": "TX", "zip": "75201", "price": "162500" }, { "h_id": "6", "city": "Dallas", "state": "TX", "zip": "75000", "price": "556699" }, { "h_id": "4", "city": "Bevery Hills", "state": "CA", "zip": "90210", "price": "319250" }, { "h_id": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" } ]
这种方法为在多个字段上对数组进行排序提供了灵活的解决方案。它可以轻松修改以适应任意数量的排序标准,使其适用于各种数据操作场景。
以上是如何在 JavaScript 中对多字段数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!