1. ホーム
  2. javascript

[解決済み] JavaScriptのオブジェクトのキーをソートしたり、順番に並べる方法はありますか?

2023-03-23 01:24:43

質問

例えば、次のようなものです。

var data = {
    'States': ['NSW', 'VIC'],
    'Countries': ['GBR', 'AUS'],
    'Capitals': ['SYD', 'MEL']
}
for (var item in data) {
    console.log(item);
}

プリント

States
Countries
Capitals

アルファベット順でソートして、次のように表示する方法はありますか?

Capitals
Countries
States

どのように解決するのですか?

オブジェクト自体の中ではなく、オブジェクトのプロパティコレクションは順序不同です。

あなたができることのひとつは Object.keys() で、Arrayをソートして、それを反復することです。

Object.keys(data)
      .sort()
      .forEach(function(v, i) {
          console.log(v, data[v]);
       });

ECMAScript 第 5 版をサポートしていないブラウザのためのパッチ(実装)です。