Как создать набор с массивом

Я играю с Set в Node.JS v0.11.3 и --harmony. API работает отлично, я могу add, remove, clear и т.д. Однако мне не удалось инициализировать набор с массивом. Я попытался (как было предложено страница MDN)

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

Как преобразовать массив в набор? MDD устарел? Имеет ли Node.JS просто не реализованная функция?

Ответ 2

В настоящее время отлично работает в v8, используя массив, предоставленный конструктору. Я использую node 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

Ответ 3

Из того, что я прочитал, я понимаю, что реализация этого является новой и экспериментальной. Некоторые вещи могут работать неправильно. Также я упомянул много примеров, когда новые функции не вели себя так, как ожидалось, до периода созревания. Было бы лучше избежать этого и просто добавить их вручную, если функционально ваша цель.

Ответ 4

Вы можете попробовать следующее:

Пример сеанса:

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