[JSInfo] Map & Set


MapとSetを理解する前に、オブジェクトと配列を理解する必要があります.
≪オブジェクト|Object|ldap≫:鍵付きのコレクションを保存します.
≪タイル|Tiling|oem_src≫:順序付きの集合を保存します.
しかし機能不足のため、MapとSetを使用しました.

Map


鍵が格納されているデータは、オブジェクトと似ています.ただし、Mapでは、鍵に複数のデータ型を使用できます.

Map Method

  • 新Map():Mapを作成します.
  • map.set(key,value):keyを使用してvalueを保存します.
  • map.get(key):keyに対応する値を返します.キーが存在しない場合はundefinedを返します.
  • map.has(key):keyが存在する場合はtrueを返し、存在しない場合はfalseを返します.
  • map.delete(key):keyに対応する値を削除します.
  • map.clear():マッピング内のすべての要素を削除します.
  • map.size:要素の数を返します.
  • ex)Mapの使用例
    let map = new Map();
    map.set('1', 'str1');
    map.set(1, 'num1');
    map.set(true, 'bool1');
    
    console.log(map.get(1)); // 'num1' 출력
    console.log(map.get('1'); // 'str1' 출력
    
    console.log(map.size); // 3

    注意事項


    mapを使用する場合はsetとgetのみを使用してキー値を設定し、ロード時に使用することをお勧めします.

    Map要素の操作を繰り返す

  • map.keys():各要素のキーを含む重複可能なオブジェクト(iterable)を返します.
  • map.values():各要素値を収集するiterableオブジェクトを返します.
  • map.entries():要素のキー、値がペアであるiterableオブジェクトのペアを返します.
  • ex)
    let drinkMap = new Map([
    	['Soju', 5000],
        ['Beer', 4000],
        ['Water', 1000],
    ]);
    
    for(let drink of drinkMap.key()){
    	console.log(drink); // Soju, Beer, Water 출력
    };
    
    for(let price of drinkMap.values()){
    	console.log(price); // 5000, 4000, 1000 출력
    }
    
    for(let menu of drinkMap){
    	console.log(menu);
    } // Soju, 5000, Beer, 4000, Water, 1000 출력
    マッピングは、挿入された値の順序を記憶し、順番に実行します.

    Object.entries:オブジェクトをマッピングに置き換える

    let obj = {
    	name: "KJ",
        age: 31
    };
    
    let map = new Map(Object.entries(obj));
    console.log(map.get('name')); // KJ 출력
    Object.entriesを使用してオブジェクトobjを配列に置き換え、その配列を使用して新しいマッピングを作成できます.

    Object.fromEntryys:マッピングをオブジェクトに置き換える


    これとは反対の概念.
    let prices = Object.fromEntries([
    	['Soju', 1],
        ['Beer', 2],
        ['Water', 4]
    ]);
    
    console.log(prices.Soju); // 1출력

    Set


    Setは、重複が許されない値を含む特殊な集合です.鍵を持たない値が格納されます.
  • new Set(iterable):3つ作成iterableオブジェクトを受信すると、配列が受信されます.値をコピーして加算します.
  • set.add(value):値を追加し、Set自体を返します.
  • set.delete(value):値を削除します.呼び出しポイントリソースに値がある必要があります.削除に成功するとtrueが返され、削除に失敗するとfalseが返されます.
  • set.has(value):コレクションに値がある場合はtrueまたはfalseを返します.
  • set.clear():Setを空にします.
  • set.size:セットの値をチェックします.
  • 注意事項


    set.add(value)を使用する場合、同じ値がある場合、反応はありません.
    値の繰返しが許可されていない場合は、Setを使用します.
    let set = new Set();
    
    let KJ = {name: "KJ"};
    let SJ = {name: "SJ"};
    let SH = {name: "SH"};
    
    set.add(KJ);
    set.add(SJ);
    set.add(SH);
    set.add(SY);
    set.add(KO);
    
    console.log(set.size); // 3 (SY와 KO는 별도 선언이 없어 추가가 안된다.);
    
    for(let user of set){
    	console.log(user.name);
        // KJ, SJ, SH 출력
    }
    Setの長所は唯一(Unique).重複する値の心配はありません.

    Set値の操作を繰り返す


    for...ofまたはforEachを使用して、設定値を繰り返します.
    ex)for...of
    let set = new Set(['KJ', 'SJ', 'ET']);
    
    for(let value of set);
    
    console.log(value);
    ex) forEach
    let set = new Set(['KJ', 'SJ', 'ET']);
    
    set.forEach((value, valueAgain, set) => {
    	console.log(value);
    });
  • set.keys():コレクション内のすべての値を含むiterableオブジェクトを返します.
  • set.values() : set.keysと同じ操作を実行します.(これはMapとの互換性のために作成された方法です.)
  • set.entries():セット内の各値の「value,value」配列を含むiterableオブジェクトを返します.
  • 結論。


    ブラウズの結果...何を言っているのか分からないので、後で整理します.