Es6-maps-and-sets
ES6-マップとセット
ES6では、 maps と sets という2つの新しいデータ構造が導入されています。 それらについて詳しく学びましょう。
Maps
マップは、*キーと値のペア*の順序付けられたコレクションです。 マップはオブジェクトに似ています。 ただし、マップとオブジェクトの間にはいくつかの違いがあります。 これらは以下にリストされています-
Sr.No | Object | Map |
---|---|---|
1 | Keys cannot be Object type | Keys can be any type |
2 | Keys are not ordered | Keys are ordered |
3 | not iterable | iterable |
構文
マップの構文は以下のとおりです-
例
次の例は、反復可能なコンストラクタを使用してマップを作成します-
上記のコードの出力は以下のとおりです-
=
地図のサイズを確認する
sizeプロパティを使用して、マップに格納される値の数を決定できます。
構文
マップのサイズをチェックするための構文は以下に与えられています-
例
上記のコードの出力は以下のとおりです-
以下は、マップを操作するために使用できるいくつかの一般的な方法です-
Sr.No | Object & Map |
---|---|
1 |
キーと値をマップに追加します |
2 |
キーが一致した場合に値を返します |
3 |
指定されたキーを持つ要素が存在する場合はtrueを返します。それ以外の場合はfalseを返します |
4 |
マップオブジェクトの各要素のキーを含むイテレータを返します |
5 |
マップオブジェクトの各要素の値を含むイテレータを返します |
6 |
マップ内の各要素のキーと値のペアを含むイテレータを返します |
7 |
指定された要素をMapオブジェクトから削除します |
WeakMap
WeakMapは小さな*マップのサブセット*です。 キーは弱く参照されるため、非プリミティブのみにすることができます。 オブジェクトキーへの参照がない場合、ガベージコレクションの対象になります。
- 反復不可能
- すべてのキーはオブジェクトタイプです
WeakMapは、キーに参照がない場合、ガベージコレクションを許可します。
構文
WeakMapの構文は以下に記載されています-
例1
例2
上記のコードの出力は以下のとおりです-
Set
セットは、一意の値の順不同のコレクションです。 このデータ構造には、プリミティブ型とオブジェクト型の値を含めることができます。
構文
セットの構文は以下のとおりです-
例
上記のコードの出力は以下のとおりです-
セットのサイズを確認する
Setオブジェクトのsizeプロパティを使用して、Set内の要素の数を照会できます。
構文
セットのサイズをチェックするための構文は以下に記載されています-
例
上記のコードの出力は以下のとおりです-
セットの反復
例
上記のコードの出力は以下のとおりです-
次のメソッドは、セットを操作するために使用できます-
Sr.No | Object & Map |
---|---|
1 |
セットに要素を追加します |
2 |
要素が見つかった場合はtrueを返します。それ以外の場合はfalseを返します |
3 |
セットから特定の要素を削除する |
4 |
セットからすべての要素をクリアします |
弱いセット
Weaksetはオブジェクトを弱く保持します。つまり、WeakSetに格納されているオブジェクトは、参照されていない場合、ガベージコレクションの対象になります。 WeakSetは反復可能ではなく、 get メソッドがありません。
上記のコードの出力は以下のようになります-