按屬性名稱對 JavaScript 物件排序
問:如何按屬性名稱的字母順序對這樣的 JavaScript 物件進行排序?
{ method: 'artist.getInfo', artist: 'Green Day', format: 'json', api_key: 'fa3af76b9396d0091c9c41ebe3c63716' }
結果:
{ api_key: 'fa3af76b9396d0091c9c41ebe3c63716', artist: 'Green Day', format: 'json', method: 'artist.getInfo' }
A:請注意ES6 及更高版本,物件的鍵現在是有序的。
以前,物件中鍵的順序是未定義的,這使得很難對物件進行一致的排序。考慮在向使用者顯示物件時對鍵進行排序,而不是依賴內部排序順序。
但是,如果保持順序,按屬性名稱對物件進行排序的一種方法是:
function sortObject(o) { var sorted = {}, key, a = []; for (key in o) { if (o.hasOwnProperty(key)) { a.push(key); } } a.sort(); for (key = 0; key < a.length; key++) { sorted[a[key]] = o[a[key]]; } return sorted; }
以上是如何依屬性名稱字母順序對 JavaScript 物件排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!