JavaScript <その他リファレンス メモ> 言語 等CSSHTMLJavaScriptPython ライブラリ・プラットフォームjQuerymicro:bitXamarin ドキュメンテーションDoxygenJSDocMarkdownSHFBXML ドキュメント コメント その他各種資料 子サイト簡易リファレンス・Tips サポート寄付 Set【一意コレクション】 反復要素処理 メソッド Set【一意コレクション】オブジェクトの反復要素処理・[@@iterator]【イテレータオブジェクト作成】・entries【イテレータオブジェクト作成】・forEach【反復要素処理】・keys【イテレータオブジェクト作成 (キー)】・values【イテレータオブジェクト作成 (値)】 メモ概要Set【一意コレクション】オブジェクトの反復要素処理 基本操作:Set【一意コレクション】オブジェクトの基本操作 参照 外部リンクECMA-262 (英語) Set.prototype.entries ( )ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.keys ( )ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype [ @@iterator ] ( )ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.values ( )ES2024 (15) ES2023 (14) ES2022 (13) Set.prototype.forEach ( callbackfn [ , thisArg ] )ES2024 (15) ES2023 (14) ES2022 (13) 構文操作構文戻り値例外備考イテレータ オブジェクト作成(キー・値)entries( )イテレータ オブジェクト キー = 値イテレータ オブジェクト作成(キー)keys( )イテレータ オブジェクト キー = 値イテレータ オブジェクト作成(値)[@@iterator]( )イテレータ オブジェクト [Symbol.iterator] ( )values( )イテレータ オブジェクト 反復要素処理 forEach( callbackfn [, thisArg ] ) undefinedTypeError 例外for-of引数callbackfn:反復要素処理を行うコールバック関数 パラメータ (例)説明value要素の値key要素のキー (キー = 値)setObj対象 Set オブジェクトthisArg:this として参照できるオブジェクト 例外TypeError :コールバック関数が呼び出し不可 例 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...