ES6-データ構造を設定する
セットする
-
データ構造を設定する
=> Setデータ構造は配列に似ていますが、配列とは異なり、Setのメンバーは一意であり、順序付けられておらず、繰り返されていません。
-
インスタンスのプロパティとメソッドを設定する
-
set.size設定されたデータ構造の値の数を取得します
const set = new Set([1,2,3,4]); console.log(set.size);// 4
-
set.add()は、設定されたデータ構造に値を追加し、データ構造自体を返します。
const set = new Set([1,2,3,4]); console.log(set.add(5));// Set(5) {1, 2, 3, 4, 5}
-
set.delete()は、設定されたデータ構造の値を削除し、削除が成功したかどうかを示すブール値を返します。
const set = new Set([1,2,3,4,5]); console.log(set.delete(5));// true console.log(set.delete(5));// false
-
set.has()は、パラメーターがsetのメンバーであるかどうかを示し、ブール値を返します。
const set = new Set([1,2,3,4,5]); console.log(set.has(5));//true console.log(set.has(6));//false
-
set.clear()は、戻り値なしですべてのセットデータ構造メンバーをクリアします
const set = new Set([1,2,3,4,5]); set.clear() console.log(set);//Set(0) {}
-
-
セットデータ構造のトラバース
-
keys()はキー名を返します
const set = new Set([1,2,3,4,5]); for(let item of set.keys()) { console.log(item); }// 1 2 3 4 5
-
values()はキー値を返します
const set = new Set([1,2,3,4,5]); for(let item of set.values()) { console.log(item); }//1 2 3 4 5
-
entry()はキーと値のペアを返します
const set = new Set([1,2,3,4,5]); for(let item of set.entries()) { console.log(item); } //(2) [1, 1] //(2) [2, 2] //(2) [3, 3] //(2) [4, 4]
-
forEach(value、key)は各メンバーをトラバースし、Setデータ構造のメンバーを直接操作できます
const set = new Set([1,2,3,4,5]); set.forEach(function(value,key) { console.log( item * 2); })
-
-
セットデータ構造の特徴
-
Set関数は、設定されたデータ構造を初期化して返すためのパラメーターとして配列を受け取ることができます。
const set = new Set(['a','b','c','c']); console.log(set); //Set(3) {"a", "b", "c"}
-
セットメンバーの一意性、セットデータ構造の各メンバーは一意であり、セットに値を追加するときにタイプ変換は発生しません.1と「1」は2つの異なる値ですが、2つはセットに追加されますNaNの場合、デフォルトではNaN!== NaNであることを知っておく必要がありますが、Setデータ構造に追加できるNaNは1つだけです。つまり、Setデータ構造内の2つのNaNはデフォルトでは等しいと見なされますが、Setデータ構造には2つの空のオブジェクトを追加した場合、待つ必要はありません。
//1 const set = new Set(['a','b','c','c']); set.add(NaN); set.add(NaN); console.log(set);//Set(4) {"a", "b", "c", NaN} //2 const set = new Set(['a','b','c','c']); set.add({ }); set.add({ }); console.log(set);//Set(5) {"a", "b", "c", {…}, {…}} //3 const set = new Set(['a','b','c','c']); set.add(1); set.add('1'); console.log(set);//Set(5) {"a", "b", "c", 1, "1"}
-
-
セットデータ構造を配列に変換する2つの方法
-
Array.from(set)Arrayコンストラクターを使用した静的メソッド
const set = new Set([1,2,3,4,5]); console.log(set);//Set(5) {1, 2, 3, 4, 5} console.log(Array.from(set));//(5) [1, 2, 3, 4, 5]
-
スプレッド演算子を使用する(...)
const set = new Set([1,2,3,4,5]); console.log(set);//Set(5) {1, 2, 3, 4, 5} console.log([...set]);//(5) [1, 2, 3, 4, 5]
-
-
Set data structure arrayを使用して、重複を削除します
let arr = [1,2,3,4,5,5,3,2,3,1]; const set = new Set(arr); console.log([...set]);//5) [1, 2, 3, 4, 5]