Angus Croll (2013-09-16T15:33:50.000Z)
I'm trying to figure out the most painless way, given a set, to return the
set's values as an array.

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

let arr = [e for e of mySet];

2)The ES6 standard supports the following production (i.e. expression, not
var, before 'for'):
*IterationStatement : for ( LeftHandSideExpression of AssignmentExpression
) Statement*
(see http://people.mozilla.org/~jorendorff/es6-draft.html#sec-13.6.4.2)

which suggests I should be able to do this:
let arr = [];
for (arr[arr.length-1] of mySet);

(I can do the equivalent with for-in) but that also errors in the above
three transpilers

3) So then I'm left with the pedestrian:
let arr = [];
for (e of mySet) {
  arr.push(e);
}

4) I also wondered if Array.from(mySet) 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)

Wondering if I'm missing something better.
thanks

Angus
@angustweets
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130916/e9496de9/attachment.html>
domenic at domenicdenicola.com (2013-09-25T02:32:45.963Z)
I'm trying to figure out the most painless way, given a set, to return the
set's values as an array.

Possibilities:

1. harmony wiki (http://wiki.ecmascript.org/doku.php?id=harmony:iterators) suggests the following, but it is a syntax error in traceur, continuum and "node --harmony"

   ```js
   let arr = [e for e of mySet];
   ```

2. The ES6 standard supports the following production (i.e. expression, not var, before 'for'):

   ```
   *IterationStatement : for ( LeftHandSideExpression of AssignmentExpression) Statement*
   ```

   (see http://people.mozilla.org/~jorendorff/es6-draft.html#sec-13.6.4.2)

   which suggests I should be able to do this:

   ```js
   let arr = [];
   for (arr[arr.length-1] of mySet);
   ```

   (I can do the equivalent with for-in) but that also errors in the above three transpilers

3. So then I'm left with the pedestrian:

   ```js
   let arr = [];
   for (e of mySet) {
     arr.push(e);
   }
   ```

4. I also wondered if `Array.from(mySet)` 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)

Wondering if I'm missing something better.