Подтвердить что ты не робот

Как получить первый элемент Set в ES6 (EcmaScript 2015)

В ES6, как быстро получить элемент?

в Синтаксис MDN для Set, я не нашел для него ответа.

4b9b3361

Ответ 1

Они, похоже, не раскрывают список, доступный из инстанцированного объекта. Это из проекта EcmaScript:

23.2.4 Свойства набора экземпляров

Устанавливать экземпляры - это обычные объекты, которые наследуют свойства из прототипа Set. У экземпляров экземпляров также есть внутренний слот [[SetData]].

[[SetData]] - это список значений, удерживаемых Set.

Возможное решение (несколько дорогое) - захватить итератор, а затем вызвать 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