操作 | 構文 | 戻り値 | 例外 | 備考 |
---|---|---|---|---|
イテレータ オブジェクト作成 (キー・値) | entries( ) | イテレータ オブジェクト | キー = 値 | |
イテレータ オブジェクト作成 (キー) | keys( ) | イテレータ オブジェクト | キー = 値 | |
イテレータ オブジェクト作成 (値) | [@@iterator]( ) | イテレータ オブジェクト | [Symbol.iterator] ( ) | |
values( ) | イテレータ オブジェクト | |||
反復要素処理 | forEach( callbackfn [, thisArg ] ) | undefined | TypeError 例外 | |
for-of |
パラメータ (例) | 説明 |
---|---|
value | 要素の値 |
key | 要素のキー (キー = 値) |
setObj | 対象 Set オブジェクト |
var entriesSet = new Set();
entriesSet.add(1);
entriesSet.add("string2");
var obj3 = new Object("obj3");
entriesSet.add(obj3);
var entries1 = entriesSet.entries();
for (let item of entries1) {
console.log(item);
}
// 出力:[1, 1]
// 出力:["string2", "string2"]
// 出力:[String, String]
var entries2 = entriesSet.entries();
for (let [key, value] of entries2) {
console.log(key, value);
}
// 出力:1 1
// 出力:string2 string2
// 出力:String... String...
var entries3 = entriesSet.entries();
for (var i = 0; i < entriesSet.size; i++) {
console.log(entries3.next().value);
}
// 出力:[1, 1]
// 出力:["string2", "string2"]
// 出力:[String, String]
var keysSet = new Set();
keysSet.add(1);
keysSet.add("string2");
var obj3 = new Object("obj3");
keysSet.add(obj3);
var keys1 = keysSet.keys();
for (let key of keys1) {
console.log(key);
}
// 出力:1
// 出力:string2
// 出力:String...
var keys2 = keysSet.keys();
for (var i = 0; i < keysSet.size; i++) {
console.log(keys2.next().value);
}
// 出力:1
// 出力:string2
// 出力:String...
var iteratorSet = new Set();
iteratorSet.add(1);
iteratorSet.add("string2");
var obj3 = new Object("obj3");
iteratorSet.add(obj3);
var iterator1 = iteratorSet[Symbol.iterator]();
for (let value of iterator1) {
console.log(value);
}
// 出力:1
// 出力:string2
// 出力:String...
var iterator2 = iteratorSet[Symbol.iterator]();
for (var i = 0; i < iteratorSet.size; i++) {
console.log(iterator2.next().value);
}
// 出力:1
// 出力:string2
// 出力:String...
var valuesSet = new Set();
valuesSet.add(1);
valuesSet.add("string2");
var obj3 = new Object("obj3");
valuesSet.add(obj3);
var values1 = valuesSet.values();
for (let value of values1) {
console.log(value);
}
// 出力:1
// 出力:string2
// 出力:String...
var values2 = valuesSet.values();
for (var i = 0; i < valuesSet.size; i++) {
console.log(values2.next().value);
}
// 出力:1
// 出力:string2
// 出力:String...
function forEachFunc(value, key, setObj) {
console.log(value, key);
}
var forEachSet = new Set();
forEachSet.add(1);
forEachSet.add("string2");
var obj3 = new Object("obj3");
forEachSet.add(obj3);
forEachSet.forEach(forEachFunc);
// 出力:1 1
// 出力:string2 string2
// 出力:String... String...
var forEachFunc2 = null;
forEachSet.forEach(forEachFunc2); // TypeError 例外
var forOfSet = new Set();
forOfSet.add(1);
forOfSet.add("string2");
var obj3 = new Object("obj3");
forOfSet.add(obj3);
for (let value of forOfSet) {
console.log(value);
}
// 出力:1
// 出力:string2
// 出力:String...
Set.prototype.entries ( ) | ||
---|---|---|
ES2022 (13) | ES2021 (12) | ES2020 (11) |
Set.prototype.keys ( ) | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |
Set.prototype [ @@iterator ] ( ) | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |
Set.prototype.values ( ) | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |
Set.prototype.forEach ( callbackfn [ , thisArg ] ) | ||
ES2022 (13) | ES2021 (12) | ES2020 (11) |