如何构build一个数组

我正在使用Node.JS v0.11.3中的Set和–harmony标志。 API工作正常,我可以addremoveclear等,但我还没有能够初始化一个数组的集合。 我试过了(根据MDN页面的提示)

 var mySet = new Set([1, 1, 2]); 

我怎样才能将一个数组转换成一个集合? MDN是否过期? 有Node.JS根本没有实现的function?

Set构造函数的v8实现还不支持当前Harmony规范草案的 §15.16.1.1中提到的iteratorcomparator参数,并且节点使用v8作为其JavaScript解释器。

作为一个创可贴,你可以使用simplesets包 。

现在使用提供给构造函数的数组在v8中正常工作。 我正在使用节点v6.2.0(v8版本5.0.71.47)。

 > let mySet = new Set([1,2,3]); undefined > mySet; Set { 1, 2, 3 } > for ( let key of mySet ) { console.log(key) } 1 2 3 undefined > mySet.size 3 

从我读过的内容来看,我的理解是这个实现是新的,实验性的。 有些事情可能无法正常工作。 我还注意到很多情况下,新function直到一段时间后才performance出预期的效果。 如果在function上是您的目标,最好避免这种情况,只需手动添加它们。

你可以试试这个:

示例会话:

 > var sets = require('simplesets') undefined > var mySet = new sets.Set([1, 1, 2]); undefined > mySet { _items: [ 1, 2 ] } > mySet.size() 2