2015-09-12 8 views

risposta

24

Non sembrano esporre l'Elenco all'accessibilità dall'oggetto istanziato. Questo è dal Draft EcmaScript:

23.2.4 Proprietà di Set istanze

Set casi sono oggetti ordinari che ereditano le proprietà dal set prototipo. Le istanze di set hanno anche uno slot interno [[SetData]].

[[SetData]] è l'elenco di Valori, il Set è in attesa.

Una possibile soluzione (un uno un po 'costoso) è di afferrare un iteratore e quindi chiamare next() per il primo valore:

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 

menzione Vale anche che:

Set.prototype.values === Set.prototype.keys 
+1

Protip: Usa '.values ​​()' invece di '.entries()' – Bergi

+0

Giusto, buon punto. Valori crea un iteratore che non ha un '[chiave, valore]' ma semplicemente 'valore'. – MinusFour

+3

Btw, gli iteratori sono considerati piuttosto * in * costosi, quell'approccio è abbastanza ottimale ... – Bergi

Problemi correlati