1. ホーム
  2. javascript

[解決済み] ES6でSetの最初の要素を取得する方法 ( EcmaScript 2015 )

2023-02-18 16:01:16

質問

ES6では、どのようにすれば素早く要素を取得できるのでしょうか?

の MDN 構文 Set とありますが、それに対する回答は見つかりませんでした。

どのように解決するのですか?

インスタンス化されたオブジェクトからアクセスできるようにリストを公開することはできないようです。これはEcmaScript Draftからの引用です。

23.2.4 セットインスタンスのプロパティ

Setインスタンスは、Setプロトタイプからプロパティを継承する通常のオブジェクトです。また、セットインスタンスは[[SetData]]内部スロットを持ちます。

[SetData]]は、Setが保持しているValueのリストです。

可能な解決策(やや高価なもの)は、イテレータを取得し、その後に next() を最初の値に対して呼び出すことです。

var x = new Set();
x.add(1);
x.add({ a: 2 });
//get iterator:
var it = x.values();
//get first entry:
var first = it.next();
//get value out of the iterator entry:
var value = first.value;
console.log(value); //1

それも言及する価値がある。

Set.prototype.values === Set.prototype.keys