ES6地図とSet

ES6地図とSet

1、マップ

ます。<script type = "text / JavaScriptを">
   // ES6のためには、地図データ構造を提供します。これは、オブジェクトだけでなく、キーと値のペアのセットに似ているが、「キー」の範囲は、文字列に限定されるものではなく、(オブジェクトを含む)の値の各種のキーとして使用することができます。
  M = constの新しい新マップ(); // マップ作成 
  のconst {Pを= O 'のHello World' };
  m.set(O、 'コンテンツ')// オブジェクトがキーとして使用することができ 
  m.get(O)// "コンテンツ" 
  m.has(O)// trueに 
  メートル。削除(O)// trueに 
  m.has( O)// falseに 
  constの= M1 新しい新しい地図([
      [ '名前'、 'ジョン・ドウ' ]、
      [ 'タイトル'、 '著者' ]
  ]); // 地図は、パラメータとして配列を受け入れることができます。アレイのメンバーは、キーと値のペアの配列が1つを発現しています。
  m1.size // 2 
  m1.has( '名前')// trueに 
  m1.get( '名前')// "ジョー・スミス" 
  m1.has( 'タイトル')// trueに 
  m1.get( 'タイトル')// 「著者」

    // 一般的な方法 
  M2 = constの新しい新しい地図([[ 'foo'で、trueに ]、[ 'バー'、falseに]]);
  m2.size; // サイズ取得 
  ( 'DWD'、m2.setをtrueに); //は上のキーを設定 
  m2.get( 'DWD'); //は、キーの値を取得 
  m2.has( 'DWDを'); / / キーかどうかを判断する 
  。M2 削除 ;( 'DWD')// 削除キー 
  m2.clear(); // クリア

    // トラバース 
  constの地図= 新しい新しい地図([ 'F'、 'いいえ' ]、
      [ 'T'、 'yes'に]、
  ]);

  以下のために{(map.keysのキーを()とします)
      console.log(キー);
  }
  // "F" 
  // "T"

  以下のために{(map.valuesの値を()とします)
      console.log(値)。
  }
  // 「なし」
  // 「はい」ありません

  {()(map.entriesの項目を聞かせて)
      console.log(項目[ 0]、項目[1 ])。
  }
  // "F" "いいえ" 
  // "T" "はい"

  // 或者
  ため{(map.entriesの[キー、値を()とします)
      console.log(キー、値)。
  }
  // "F" "いいえ" 
  // "T" "はい"

  // map.entries()と同等
  のため(地図のLET [キー、値]){
      console.log(キー、値)。
  }
  // "F" "NO" 
  // "T" "YES" 

  map.forEach(関数(値、キーマップ){
      console.log( "キー:%sの、価値:%s"は、キー、値);
  });

  // 他のデータ構造の交換
  // 。1、スイッチアレイ地図は 
  MYMAP = CONST 新新)(地図を
      .SET(、7 
      .SET({FOO: 3}、[ 'ABC' ])。
  [... MYMAP]
  // [[真]、[7]、[{FOO:3}、[ 'ABC']]]

  // 2、配列転送地図
  新新マップ([
      [ 、7 ]
      [{FOO: 3}、[ 'ABC' ]
  ])
  // マップ{ 
  //    真へ=> 7、。
  //    オブジェクトfoo {:3} => [ 'ABC'] 
  // } 
  // 3は、JSONにマッピング
  // 一つの場合、マップキー名であります文字列は、その後、あなたはJSONにオブジェクトを選択することができます。
  関数strMapToJson(strMap){
       戻りJSON.stringify(strMapToObj(strMapを));
  }

  MYMAPましょう = 新しい地図()セット( 'はい'、).SET( 'いいえ'、偽の);
  strMapToJson(MYMAP)
  // 「{ 『はい』:trueに、 『NO』:} falseに」
  // 別の場合、非文字列とキー名地図、その配列は、JSONに選択することができます。
  関数mapToArrayJson(MAP){
       戻りJSON.stringify([マップ...])。
  }

  MYMAPせ = 新しい地図()セット(、7).SET({FOO:3}、[ 'ABC' ])。
  mapToArrayJson(MYMAP)
  // '[[真]、[7]、[{ "FOO":3}、[ "ABC"]]]]

    // 4、地図にJSON 
    // 地図へのJSONは、通常の状況下では、すべてのキーは文字列です。
  関数jsonToStrMap(jsonStr){
       リターンobjToStrMap(JSON.parse(jsonStr))。
  }

  jsonToStrMap( '{ "はい":真、 "いいえ":偽}' // 地図{ 'はい' => trueの場合、 'NO' =>偽}

    // しかし、特殊なケースがあり、全体JSONは配列であり、そして各アレイ部材自体は、二つの部材の配列です。
  // この時点で、それは一地図に変換することができます。これは、多くの場合、逆の操作に地図JSON配列です。
  関数jsonToMap(jsonStr){
       戻り 、新たな新しいマップ(JSON.parse(jsonStr))。
  }

  jsonToMap( '[真]、[7]、[{ "FOO":3}、[ "ABC"]]]] // マップ{真=> 7、オブジェクト{FOO:3} => [ 'ABC'] } 
</ SCRIPT>

 

2、セット

<スクリプトタイプの=「テキスト/ JavaScriptを」>
    // 使用セットデータ構造
   // ES6は、新しいデータ構造のセットを提供します。これは、配列に類似しているが、メンバの値がユニークでない重複した値です。
   S1 = CONST 新しい新しいセット([1、2 ,. 3 ,. 4 ,. 4。]);
   console.log(S1)。
   S2 CONST = 新しい新しいセット([1、2 ,. 3 ,. 4 ,. 5 ,. 5 ,. 5 ,. 5。]); // 繰り返さない、アレイ重み付けするために使用することができる 
   にconsole.log(s2.sizeを); // 5。 
   LET S3 Array.from =(新しい新しいセット( 'abbccddeeee')。)( '')に参加; // 文字列の重みに 
   はconsole.log(S3); // ABCDE

    // 一般的な方法 
    S4をしましょう= 新しい新しいセット();
    s4.add( 1); // それ自体がいくつかの値、戻りセット構造追加 
    s4.size; // 戻りを設定インスタンスのメンバの総数 
    s4.has(1); // 戻り値が設定されているかどうかを示すブール値メンバー 
    S4。削除(1); // 値を削除し、削除が成功したかどうかを示すブール値を返します。
    s4.clear(); // すべてのメンバー、ノーリターン値を削除します。

    // 遍历 
   せS5 = 新しいセット([ '赤'、 '緑' '青' ])。
   {()(s5.keysの項目を聞かせて)
       console.log(アイテム)
   }
   // 
   // 
   // 

   {()(s5.valuesの項目を聞かせて)
       console.log(アイテム)
   }
   // 
   // 
   // 

   {()(s5.entriesの項目を聞かせて)
       console.log(アイテム)
   }
   // [ "赤"、 "赤"] 
   // [、 "緑"、 "緑"] 
   // [ "青"、 "青"] 

   s5.forEach((値、キー) =>はconsole.log(キー+ ':' +値))// 也可以forEachの遍历

    // SETアレイ変換を 
   せArray.from =配列(S5).join( '' )。
   console.log(アレイ)


</ SCRIPT>

おすすめ

転載: www.cnblogs.com/jnba/p/12205188.html