ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript を使用して通常のオブジェクトを ES6 マップに変換するにはどうすればよいですか?

JavaScript を使用して通常のオブジェクトを ES6 マップに変換するにはどうすればよいですか?

WBOY
WBOY転載
2023-08-27 22:41:161237ブラウズ

如何使用 JavaScript 将普通对象转换为 ES6 Map?

通常のオブジェクトを JavaScript で ES6 マップに変換する方法はたくさんあります。最も簡単で効率的な方法は、Object.entries() 関数と Map() コンストラクターを使用することです。対照的に、より柔軟な代替手段には、Object.keys()Array.prototype.forEach()、および for...in ループと Map() ## が含まれます。 # 関数メソッド。

ES6

Map は、キーと値のペアのコレクションです。ここでは、文字列や数値などのプリミティブ データ型を含む、あらゆる種類のオブジェクトをキーとして使用できます。マップ内の値は、任意のタイプのオブジェクトにすることができます。

Map と Object の主な違いは、Map ではキーは任意のデータ型にできるのに対し、Object では常に文字列に変換されることです。

それにもかかわらず、マップには、反復可能性や要素の順序の保証など、通常のオブジェクトに比べていくつかの利点があります。この記事では、JavaScript を使用して通常のオブジェクトを ES6 マップに変換する方法について説明します。

方法 1: Object.entries() と Map() を使用する

今日学習する、通常のオブジェクトを intp ES6 マッピングに変換する最初の方法は、2 つのステップで構成されます -

  • Object.entries() メソッドを使用して、オブジェクトからキーと値のペアの配列を取得します

  • 次に、配列を Map() コンストラクターに渡します。

Object.entries() メソッドによって返される配列内の各配列は、オブジェクト内のキーと値のペアを表します。以下は、Object.entries() および Map() コンストラクターを使用して通常のオブジェクトを ES6 マップに変更する方法の例です -

リーリー

この例では、Object.entries() 関数を使用して、通常のオブジェクトをキーと値のペアの配列に変換します。この配列は Map() 関数に渡され、これらのキーと値のペアを使用して新しい Map オブジェクトが生成されます。

Object.entries() メソッドに必要なコードは 1 行のみで、ほとんどの最新のブラウザで完全にサポートされています。ただし、このアプローチは列挙可能なプロパティを持つオブジェクトに限定され、シンボリック キーを持つプロパティは除外されます。

方法 2: for...in ループと Map() コンストラクターを使用する

次に、通常のオブジェクトを ES6 マップに変換する別の方法を見てみましょう。この方法には次の手順が含まれます

  • for...in ループを使用してオブジェクトのプロパティを反復します

  • Map.set() メソッドを使用して、それらを新しい Map オブジェクトに追加します。

これは、for...in ループと Map() コンストラクターを使用して、通常のオブジェクトを ES6 マップに変換する方法の例です -

リーリー

このメソッドでは、ループしてマップ プロパティを設定するため、このメソッドの効率が最初のメソッドよりも低くなる可能性があります。

ただし、この方法は、列挙不可能なプロパティを持つオブジェクトや、キーとしてシンボルを持つプロパティにも機能します。

方法 3: Object.keys() と Array.prototype.forEach() を使用する

この方法では、以下の手順に従います -

  • 最初に Object.keys(obj) を使用してオブジェクト キーの配列を取得します。

  • 次に、Array.prototype.forEach() メソッドを使用してキーを反復処理します。

  • 次に、Map.set() メソッドを使用して、キーと値のペアをマップに追加します。

  • ###例### リーリー
for...in ループ、Object.keys()、および Array.prototype.forEach() メソッドはすべて、元の定義とは異なる順序でプロパティ オブジェクトを返すことに留意することが重要です。プロパティは列挙順に返されます。

ただし、Map() 関数メソッドは、渡された順序でキーと値のペアを返します。

###結論は###

プロジェクトの特定の要件に応じて、ニーズに最も適した方法を選択できます。ユースケースで順序が重要な場合は、Map() コンストラクター メソッドが最適な選択であることに留意してください。そうでない場合は、他のメソッドでも問題なく動作します。

以上がJavaScript を使用して通常のオブジェクトを ES6 マップに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。