Set to Array conversions

Angus Croll anguscroll at gmail.com
Mon Sep 16 09:22:33 PDT 2013


Thanks - I missed the obvious one I guess - though it still returns an
empty array in continuum and traceur.

e.g

[...(new Set([1,2,3])].length; //0

or

var s = new Set();
s.add('a');
s.add('b');
[...s].length; //0

assuming they just need to catch up


@angustweets


On Mon, Sep 16, 2013 at 8:42 AM, Claude Pache <claude.pache at gmail.com>wrote:

> 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/0f19b440/attachment.html>


More information about the es-discuss mailing list