Javascript将集合转换为普通数组

Javascript convert set to plain Array

本文关键字:数组 转换 集合 Javascript      更新时间:2023-09-26

Set-Javascript | MDN

示例:迭代集

第16行

var myArr = [v for (v of mySet)];

我的代码:

var s_priceCatsArr = [ n for ( n of s_priceCats ) ];

这在Google Chrome Version 38.0.2125.111 m 上产生错误Uncaught SyntaxError: Unexpected token for

Customise and control Google Chrome > Settings > About告诉我的谷歌浏览器是最新的。

我是做错了什么,还是不支持此功能?

更新:

我转到chrome://flags并勾选Enable Experimental JavaScript。然后重新启动了我的浏览器,但我仍然收到同样的错误。我想我只能等到该功能添加正确后…:(

Chrome尚未(截至版本38.0.2125.111)支持"数组综合",即[expr of Iterable]

Iterable转换为Array的标准ES6函数是Array.from,但Chrome中也没有。由于我还没有意识到的原因,我无法让MDN垫片在Set上工作。(啊,根据文档,填充程序不支持"真正的可迭代")

另一种适用于Firefox但不适用于Chrome的方法是"扩散"运算符...:

> var s = new Set([1,2,3,4])
undefined
> [...s]
[1, 2, 3, 4]

EDIT在Chrome 46(可能更早)中,所有for (x of <Iterable>)Array.from...排列运算符现在都可以工作。