<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 16, 2013 at 11:33 AM, Angus Croll <span dir="ltr"><<a href="mailto:anguscroll@gmail.com" target="_blank">anguscroll@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>I'm trying to figure out the most painless way, given a set, to return the set's values as an array.</div>

</div></blockquote><div><br></div><div><br></div><div>set.values(); // An array of the set's values</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div><br></div><div>Possibilities:</div><div>1) harmony wiki (<a href="http://wiki.ecmascript.org/doku.php?id=harmony:iterators&s=iterator" target="_blank">http://wiki.ecmascript.org/doku.php?id=harmony:iterators&s=iterator</a>) suggests the following, but it is a syntax error in traceur, continuum and "node --harmony"</div>

</div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">

<div><br></div><font face="courier new, monospace">let arr = [e for e of mySet];</font></div></blockquote><div><br></div><div>Just a heads up, that wiki page is out of date (see the notice at the top of the page) and shows the old syntax (as shown above). The up-to-date syntax is:</div>

<div><br></div><div><span style="font-family:'courier new',monospace">let arr = [for (e of mySet) e];</span><br></div><div><span style="font-family:'courier new',monospace"><br></span></div><div>(I realize this is beside the point of the question)<br>

</div><div><br></div><div>Rick</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div><br></div><div>2)The ES6 standard supports the following production (i.e. expression, not var, before 'for'):</div><i>IterationStatement : for ( LeftHandSideExpression of AssignmentExpression ) Statement</i><div>



(see <a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-13.6.4.2" target="_blank">http://people.mozilla.org/~jorendorff/es6-draft.html#sec-13.6.4.2</a>)</div><div><br></div><div>which suggests I should be able to do this:</div>



<div><div><font face="courier new, monospace">let arr = [];</font></div><div><font face="courier new, monospace">for (arr[arr.length-1] of mySet);</font></div></div><div><font face="courier new, monospace"><br></font></div>



(I can do the equivalent with for-in) but that also errors in the above three transpilers<div><br></div><div>3) So then I'm left with the pedestrian:</div><font face="courier new, monospace">let arr = []; <br>for (e of mySet) { <br>



  arr.push(e);</font><div><font face="courier new, monospace">}<br></font><div><font face="courier new, monospace"><br></font></div><div>4) I also wondered if<font face="courier new, monospace"> Array.from(mySet)</font> would do the trick but again doesn't seem to pass muster with any of the above transpilers. (continuum  returns a zero length array and the other two don't know Array.from)<font face="courier new, monospace"><br>



</font><div><font face="courier new, monospace"><br></font></div>Wondering if I'm missing something better.<div>thanks</div><div><br><div><div>Angus<br clear="all"><div><div dir="ltr">@angustweets</div></div>
</div></div></div></div></div></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div></div>