首頁  >  文章  >  web前端  >  如何依屬性名稱字母順序對 JavaScript 物件排序?

如何依屬性名稱字母順序對 JavaScript 物件排序?

DDD
DDD原創
2024-11-01 18:14:30494瀏覽

How to Sort a JavaScript Object Alphabetically by Property Name?

按屬性名稱對 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中文網其他相關文章!

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