Set to Array conversions

Claude Pache claude.pache at gmail.com
Mon Sep 16 08:42:29 PDT 2013


I suggest:

	[ ... mySet ]

or, if you don't want to use any new syntax:

	Array.from(mySet)

—Claude

P.S. The syntax  `[e for e of mySet]` is outdated in Harmony, you should use `[(for let e of mySet) e]`.

Le 16 sept. 2013 à 17:33, Angus Croll <anguscroll at gmail.com> a écrit :

> 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
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130916/d22d172e/attachment-0001.html>


More information about the es-discuss mailing list