在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中文網其他相關文章!