Pertanyaan Cara mendapatkan elemen pertama dari Set di ES6 (EcmaScript 2015) [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Di ES6, bagaimana kita cepat mendapatkan elemen?

di Sintaks MDN untuk Set, Saya tidak menemukan jawaban untuk itu.


32
2017-09-12 13:25


asal


Jawaban:


Mereka tampaknya tidak mengekspos Daftar untuk dapat diakses dari Object instanced. Ini adalah dari EcmaScript Draft:

23.2.4 Properti Set Instances

Set instance adalah objek biasa yang mewarisi properti dari prototipe Set. Set instance juga memiliki slot internal [[SetData]].

[[SetData]] adalah daftar Nilai yang Dipegang.

Solusi yang mungkin (yang agak mahal) adalah mengambil iterator dan kemudian menelepon next() untuk nilai pertama:

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

Perlu disebutkan juga bahwa:

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

36
2017-09-12 14:28