按多個欄位對物件陣列進行排序
在最初的問題中,按單一欄位對物件陣列進行排序已有效解決。但是,我們如何對多個欄位應用排序?
要按多個欄位對物件陣列進行排序,我們可以使用鍊式排序方法。這涉及按第一個欄位排序,然後,如果值相等,則繼續按第二個欄位排序。如有必要,可以對更多欄位重複此過程。
考慮以下範例,我們要按城市(升序)和價格(降序)對房屋數組進行排序:
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中文網其他相關文章!