重溫依屬性名稱對 JavaScript 物件排序
在 JavaScript 中,物件是鍵值對的無序集合。透過鍵存取屬性時,鍵的順序無關緊要且無法保證。但是,在某些情況下,按屬性名稱按字母順序對物件進行排序是理想的選擇。
排序技術
傳統上,按屬性名稱對物件進行排序需要將其轉換為鍵數組,並按字母順序對數組進行排序,然後重建物件。這種方法使用循環並涉及創建臨時數組,這可能會影響大型物件的效能。
然而,在 ES6 中,物件變得有序。這意味著迭代物件的鍵將按照它們定義的順序傳回它們。因此,對物件的鍵進行排序變得非常簡單:
<code class="javascript">const sortedObject = Object.fromEntries( Object.entries(originalObject).sort(([a], [b]) => a.localeCompare(b)) );</code>
在此範例中,Object.entries() 將物件轉換為鍵值對陣列。然後,sort() 根據屬性名稱按字母順序對陣列進行排序,使用 localeCompare() 進行不區分大小寫的排序。最後,Object.fromEntries() 使用排序後的屬性名稱重建物件。
注意: ES6 物件僅在使用文字 { } 建立或繼承自有序物件。使用 Object.create(null) 建立的物件仍然是無序的。
以上是如何依屬性名稱字母順序對 JavaScript 物件排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!