我正在使用Node.JS v0.11.3中的Set
和--harmony
标志。 API工作正常,我可以add
,remove
,clear
等。但我无法使用数组初始化集合。我尝试过(根据the MDN page提示)
var mySet = new Set([1, 1, 2]);
如何将数组转换为集合? MDN过时了吗? Node.JS是否没有实现该功能?
答案 0 :(得分:4)
Set
构造函数的v8 implementation尚不支持current draft of the Harmony specification的§15.16.1.1中提到的iterator
和comparator
个参数,以及节点使用v8作为其JavaScript解释器。
作为创可贴,您可以使用simplesets package。
答案 1 :(得分:2)
现在使用提供给构造函数的数组在v8中正常工作。我使用的是node v6.2.0(v8版本5.0.71.47)。
PaletteData palette=new PaletteData(0xff0000,0x00ff00,0xff);
ImageData imageData = new ImageData(width, height,32,palette);
int pixelVecLoc=0;
for (int h = 0; h<1300; h++)
{
for (int w = 0; w<1300; w++)
{
int p = 0;
Pixel pixel = pixelVec.get(pixelVecLoc);
p = (pixel.Alpha<<24) | (pixel.Red<<16) | (pixel.Green<<8) | pixel.Blue;
imageData.setPixel(w, h, p);
pixelVecLoc++;
}
}
imageData = imageData.scaledTo(600, 500);
Image image = ImageDescriptor.createFromImageData(imageData).createImage();
//Image image = new GVImageProcessingJNIWrapper().GetBMPFromGTX();
e.gc.drawImage(image, 0, 0);
答案 2 :(得分:1)
据我所知,我的理解是,这项工作的实施是新的和实验性的。有些事情可能无法正常运作。此外,我已经注意到许多实例,其中新功能在经过一段时间的成熟后才表现出预期的效果。如果功能上是您的目标,最好避免这种情况并简单地手动添加它们。
答案 3 :(得分:0)
你可以尝试这个:
示例会话:
> var sets = require('simplesets')
undefined
> var mySet = new sets.Set([1, 1, 2]);
undefined
> mySet
{ _items: [ 1, 2 ] }
> mySet.size()
2