按多个字段对对象数组进行排序
在最初的问题中,按单个字段对对象数组进行排序已得到有效解决。但是,我们如何对多个字段应用排序?
要按多个字段对对象数组进行排序,我们可以使用链式排序方法。这涉及按第一个字段排序,然后,如果值相等,则继续按第二个字段排序。如有必要,可以对更多字段重复此过程。
考虑以下示例,我们要按城市(升序)和价格(降序)对房屋数组进行排序:
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"} ];
要对该数组进行排序,我们可以使用以下 JavaScript 代码:
homes.sort(function (a, b) { return a.city.localeCompare(b.city) || b.price - a.price; });
以下是此代码的用法工作原理:
通过将这种排序方法应用于多个字段,我们可以轻松地按所需顺序对复杂的对象数组进行排序。
以上是如何在 JavaScript 中按多个字段对对象数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!