【JavaScript ECMAScript】Set::Set.prototype.entriesインスタンスメソッドの使い方
Set.prototype.entries()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Set.prototype.entries()メソッドは、Setオブジェクト内に格納されているすべての要素を、[値, 値]という形式の配列として含む新しいIteratorオブジェクトを返すメソッドです。Setオブジェクトは、重複しない一意な値を格納するコレクションであり、各要素に明確なキーという概念は持ちません。このため、entries()メソッドが返すイテレーターでは、各エントリのキーと値の両方に、Setオブジェクトに実際に格納されている値が割り当てられます。これは、Mapオブジェクトのentries()メソッドが返す標準的なエントリ形式([キー, 値])との整合性を保つための仕様です。
返されるIteratorオブジェクトは、for...ofループや、スプレッド構文(...)、あるいはArray.from()などのメソッドと組み合わせることで、Setオブジェクト内の要素を順序付けて処理する際に利用できます。例えば、Set内のすべての要素を[値, 値]の形式で配列に変換したい場合などに活用されます。Setオブジェクトには、Set.prototype.values()やSet.prototype.keys()といったイテレーターを返すメソッドも存在しますが、これらは実質的に同じイテレーターを返します。Set.prototype.entries()は、SetオブジェクトをMapオブジェクトと同様にキーと値のペアとして扱いたい場合に特に有用であり、コレクションを汎用的に扱うための標準的なインターフェースを提供します。
構文(syntax)
1const mySet = new Set(); 2mySet.add('apple'); 3mySet.add('banana'); 4 5// Setの各要素を [value, value] の形式で含む新しいIteratorオブジェクトを返します。 6for (const entryPair of mySet.entries()) { 7 console.log(entryPair); // 例: ['apple', 'apple'], ['banana', 'banana'] 8}
引数(parameters)
引数なし
引数はありません
戻り値(return)
SetIterator
Set.prototype.entries()は、Setオブジェクトの各要素に対する {value, value} の形式のペアを順番に返すSetIteratorオブジェクトを生成します。