TypeScriptでSet

Setは値が重複しないコレクションです。
同じ値は一つしか登録されません。

前準備

TypeScriptをインストールします。

npm install -g typescript
npm install -g typings

プロジェクトの初期設定を行います。

npm init
tsc --init
npm install tslint --save-dev
tslint --init

定義ファイルのインストール

npm install --save-dev @types/core-js

使用例

// オブジェクトを生成します
let set = new Set<string>(["node.js", "TypeScript"]);
// 値を追加します
set.add("JavaScript");
// 登録されている値の数
console.log(set.size); // => 3
// 値の有無
console.log(set.has("TypeScript")); // => true
// 値を削除する
set.delete("TypeScript");
// 値の有無
console.log(set.has("TypeScript")); // => false
// 値を順番に出力する
set.forEach((value) => console.log(value)); // => "node.js" "TypeScript"

Setオブジェクトを作成する

let set = new Set<string>();

引数で初期値を登録できます。

let set = new Set<string>(["node.js", "TypeScript"]);

値を追加する

addメソッドで値を登録します。

set.add("JavaScript");
set.add("Python");
set.add("C++");

値を削除する

deleteメソッドで値を削除します。

set.delete("Python");

値をクリアする

clearメソッドですべての値を削除します。

set.clear();

値に対して関数を実行する

forEachメソッドで値に対して関数を実行します。

set.forEach(value => console.log(value));

値の有無を調べる

let exist = set.has("TypeScript");

Iteratorを取得する

keysメソッドとvaluesメソッドは、どちらも値を登録した順番を保持するIteratorオブジェクトを返します。

console.log(set.keys());
//=> SetIterator { 'node.js', 'TypeScript', 'JavaScript' }

iterable

Setはiterableです。

Array.from()はiterableを受け取り、Arrayオブジェクトを生成します。

let ary = Array.from(set);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です