map,setリソース型


▶πマッピング可能なMapデータ型

var person = new Map();
person.set("name","Kim");
person.set("age",20);

console.log(person);

// 콘솔창 출력:
//  Map { 'name' => 'Kim', 'age' => 20 }
  • Map資料型は、Object資料型と同様に、鍵・値形式で資料を格納できる資料型である.上のように資料を作成して保存することができます.
  • しかし、コンソールウィンドウで出力すると、オブジェクトとは少し異なり、キーと値は等号ではなく矢印で表されます.
  • Map資料型は資料の関連性を表現するためであり、資料を保存するのではなく、保存したい場合はMapを書くことができます.
  • をまとめると、Mapは資料間の関連性を表現するために使用されます.
  •    var person = new Map();
       person.set([1,2,3],'Kim');
       person.set('age', 20);
    データを格納するのではなく、マッピングを行うため、配列をデータの名前として使用したり、objectを使用したりすることができます.

    ▶▼Mapの扱い方

    // Map 자료형 만드는 방법
    let person = new Map();
    
    // Map 자료 넣기
    person.set("name", 'Kim');
    person.set("age", 20);
    console.log(person); // 출력 : {'name' => 'Kim', 'age' => 20}
    
    // Map 자료 꺼내는 방법
    console.log(person.get("name"));// 출력 : Kim
    console.log(person.get("age"));// 출력 : 20
    
    // Map 자료 몇개인지 아는 방법
    console.log(person.size);// 출력 : 2
    
    // Map 자료 삭제하는 방법
    person.delete("age");
    console.log(person);// 출력 : {'name' => 'Kim'}
    console.log(person.size);// 출력 : 1
    
    // Map 자료 반복문 돌리기
    for(var key of person.keys()){
    	console.log(key);
    }
    
    //자료를 직접 집어넣고 싶다면
    var person = new Map ([
      ['age', 20],
      ['name','kim']
    ]);
    このように扱うことができます.実務ではあまり使われませんが、アルゴリズムの比較で見直されます.

    ▶▼▼Set資料型

      var names = new Set(['john','tom','andy','tom']);
    
      console.log(names); // set(3) {'john','tom','andy'}
  • Setは単純なArrayと似ている.印刷と括弧で囲まれたレイアウトの差は多くありません.
  • しかし、Set資料型は絶対に重複資料を許さない.2つのtomが入っていますが、前の1つのtom出力しか見えません.
  • の重複データを防止するには、それを使用します.
  • ▶▼▼SET資料型

      var names = new Set(['john','tom','andy','tom']);
    
      names.add('sally');//자료 더하기
      names.has('tom');//자료 존재 확인
      names.size('sally');//자료 갯수 세기
    
      //반복문 사용
      for (const person of names) {
          console.log(person);
      }
    
    このように処理することができ、繰り返し文はfor ofまたはforeachをよく使用する.
      var names = ['john','tom','andy','tom'];
    
      var names2 = new Set(names);
    
      names = [...names2]
    
  • セットは、このような既存のアレイ重複データを除去する技術を使用することができる.