首頁 >web前端 >js教程 >如何在 JavaScript 中依屬性值對物件陣列進行排序?

如何在 JavaScript 中依屬性值對物件陣列進行排序?

Susan Sarandon
Susan Sarandon原創
2024-12-20 13:27:14798瀏覽

How do I Sort an Array of Objects by Property Value in JavaScript?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn