JavaScript で辞書をループする

Shraddha Paghdar 2023年10月12日
JavaScript で辞書をループする

JavaScript オブジェクトは非常に柔軟で、キーと値のペアを作成するために使用できます。 これらのオブジェクトは、Python 辞書と同様に機能します。

格納された各値には一意のキー (JavaScript 配列と同様) があり、これらのキーを介してそれらの値にアクセスできるため、辞書とオブジェクトが広く使用されています。 これにより、データの読み取りと保存が非常に柔軟になります。

今日の投稿では、JavaScript でオブジェクトまたは辞書を反復処理してキーと値のペアを抽出する方法を説明します。

Object.entries() を使用して JavaScript で辞書をループ

Object.entries() メソッドを使用して、特定のオブジェクトの文字列とキーの列挙可能なプロパティの [key, value] ペアの配列を返すことができます。

これは、for...in ループの繰り返しに似ています。 ただし、このループはプロトタイプ チェーンのプロパティを列挙します。

返される配列の順序は、for...in ループによって返される順序と同じです。 JavaScript の列挙可能なプロパティとは、for...in ループまたは Object.keys() メソッドを使用して反復したときにプロパティが表示されることを意味します。

デフォルトでは、単純な代入またはプロパティ初期化子によって作成されたすべてのプロパティは列挙可能です。

構文:

Object.entries(obj)

Object.entries メソッドは、必須パラメーターである引数としてオブジェクトを受け入れます。

Object.entries() の詳細については、この ドキュメント を参照してください。

従業員オブジェクトの例を見てみましょう。 このオブジェクトには、基本的な従業員の詳細が含まれています。

従業員オブジェクトを反復処理すると、列挙可能なすべてのプロパティが出力されます。

const object = {
  employeeName: 'John Doe',
  employeeId: 27,
  salary: {
    '2018 - 19': '400000INR',
    '2019 - 20': '500000INR',
    '2020 - 21': '650000INR'
  },
}

               Object.defineProperty(student, 'address', {
                 value: 'India',
                 configurable: true,
                 writable: false,
                 enumerable: false,
               });

for (const [key, value] of Object.entries(object)) {
  console.log(key, value);
}

上記の例では新しい address プロパティを追加しましたが、その列挙型は false に設定されています。 Object.entries() メソッドは列挙可能なプロパティのみを反復処理するため、アドレス プロパティは出力されません。

上記の例を任意のブラウザーで実行してみてください。 次の結果が表示されます。

出力:

"employeeName", "John Doe"
"employeeId", 27
"salary", {
  2018-19: "400000INR",
  2019-20: "500000INR",
  2020-21: "650000INR"
}

上記の完全な例 ここ にアクセスすることもできます。

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn