ES 6-セット
2305 ワード
ES 6の前に、行列はjavaScriptの中の唯一の集合オブジェクトです.他のプログラミング言語に接触したことがあると、集合を表すためのデータ構造はしばしば2つあります.セットとMap.Setには重複した要素のリストがありません.Mapの要素は一つ一つのキーのペアです.この記事はSetだけ言って、Mapは別の文章を書きます.Setの関連知識を見てみましょう.Set 1を作成する:new Set()を通じて空のリストを作成する.
2:反復可能なオブジェクトでリストを初期化する
上記の例の中のsetOfMap.forEach()によって得られた印刷結果は以下の通りです.
Setの削除はSetの中のすべての要素を削除したいです.
let set = new Set();
以上でSetリストを作成しましたが、まだ何の要素もありません.後の内容では、どのように元素を追加するかを見ることができます.2:反復可能なオブジェクトでリストを初期化する
let array = [1, 2];
let map = new Map([['name', 'mike'],['age', 25]]);
let setOfArray = new Set(array);
let setOfMap = new Set(map);
setOfArray.forEach(function (value, key, set) {
console.log(`${key}: ${value}`);
});
setOfMap.forEach(function (value, key, set) {
console.log(`${key}: ${value}`);
});
上記の例の中のsetOfAray.forEach()によって得られた印刷結果は以下の通りです.1: 1
2: 2
このプリント結果から、Set要素のkeyとvalueは同じ値であることが分かります.上記の例の中のsetOfMap.forEach()によって得られた印刷結果は以下の通りです.
name,mike: name,mike
age,25: age,25
私たちはMapでSetを初期化できますが、それは明らかに意味がないです.通常はArayをもっと使います.Setの増加は、new Set()に任意のパラメータを伝達しないことによって空セットを作成した後、一般的には、add()
方法によって要素を追加する必要がある:let set = new Set();
set.add(1);
set.add('1');
console.log(set.size); // 2
上記の例では、数字型と文字列形の1をそれぞれ追加しました.最終的には2つの要素が得られます.これはSetを通常のオブジェクトと区別するところです.一般的なオブジェクトは、数値型の属性名を強制的に文字列型に変換します.でもセットはできませんSetの削除はSetの中のすべての要素を削除したいです.
clear()
方法を呼び出すだけです.let set = new Set([1, 2, 3]);
set.clear();
console.log(set.size); // 0
四:Setの調べは、ある要素がセット内にあるかどうかをhas()
方法で調べられます.let set = new Set([1, 2, 3]);
console.log(set.has(1)); //true
console.log(set.has('1'));//false
5:Setの減算delete()
方法は、Setのセットからある要素を除去するために使用できます.let set = new Set([1, 2, 3]);
set.delete(1);
console.log(set.has(1)); //fasle
console.log(set.size); // 2
セブン:Setの使用シーンは前の文章から順にSet集合の重要な特性を理解しました.例えば、1: Set
2: Set key value
3: Set
これらの特性により,Arayの脱重を実現できた.基本的な考え方は:1: Array Set , Set
2: (...), Set
コードの例:let originalArray = [1, 1, 2, 2, 3, 4];
let set = new Set(originalArray);
let newArray = [...set];
console.log(newArray); // [1, 2, 3, 4]
以上、Setのいくつかの基本的な特性、文法と使用シーンです.