Set【一意コレクション】オブジェクトの基本操作
・new Set【コンストラクタ】
・size【要素数】プロパティ
・add【要素追加・更新】
・clear【全要素削除】
・delete【要素削除】
・has【要素有無】
メモ
概要
- Set【一意コレクション】オブジェクトの基本操作
- 反復要素処理:Set【一意コレクション】オブジェクトの反復要素処理 参照
外部リンク
- ECMA-262 (英語)
Set ( [ iterable ] ) ES2024 (15) ES2023 (14) ES2022 (13) get Set.prototype.size ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.add ( value ) ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.has ( value ) ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.delete ( value ) ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.clear ( ) ES2024 (15) ES2023 (14) ES2022 (13)
構文
操作 | 構文 | 戻り値 | 例外 | 備考 |
---|---|---|---|---|
要素数 | size | 要素数 | ||
コンストラクタ | new Set( [ iterable ] ) | Set【一意コレクション】オブジェクト | TypeError 例外 | |
要素追加・更新 | add( value ) | Set【一意コレクション】オブジェクト | 既存要素:更新 | |
全要素削除 | clear( ) | undefined | ||
要素削除 | delete( value ) | true:要素削除 false:要素なし | ||
要素有無 | has( value ) | true:要素あり false:要素なし |
引数
- iterable:値から成るイテレータオブジェクト 及び それに準ずるもの (値の配列等)
- value:要素の値
例外
TypeError 例外 | new Set【コンストラクタ】 | new なし (関数として呼び出し) |
---|---|---|
入力のiterable が不正 |
例
var emptySet = new Set();
console.log(emptySet.size); // 出力:0
console.log(emptySet); // 出力:Set {}
var obj3 = new Object("obj3");
var array = [1, "string2", obj3];
var arraySet = new Set(array);
console.log(arraySet.size); // 出力:3
console.log(arraySet); // 出力:Set {1, "string2", String...}
var setSet = new Set(arraySet);
console.log(setSet.size); // 出力:3
console.log(setSet); // 出力:Set {1, "string2", String...}
var setNG1 = Set(); // TypeError 例外:new なし (関数として呼び出し)
var setNG2 = new Set(123); // TypeError 例外:入力のイテレータオブジェクトが不正
var set1 = new Set();
set1.add(1);
set1.add("string2");
set1.add("string2"); // 更新
var obj3 = new Object("obj3");
set1.add(obj3);
console.log(set1.has(1)); // 出力:true
console.log(set1.has("string2")); // 出力:true
console.log(set1.has(obj3)); // 出力:true
console.log(set1.has("non")); // 出力:false
console.log(set1.size); // 出力:3
set1.delete("string2");
obj3 = new Object("obj3"); // 別のオブジェクト作成
console.log(set1.has(1)); // 出力:true
console.log(set1.has("string2")); // 出力:false
console.log(set1.has(obj3)); // 出力:false (別のオブジェクトの為)
console.log(set1.size); // 出力:2 (元のobj3が存在)
set1.clear();
console.log(set1.size); // 出力:0