Использование JavaScript-Iterables с подчеркиванием.JS


Я хотел бы использовать JS6' new Set-object в сочетании с подчеркиванием. Насколько я знаю, JavaScript поддерживает концепцию под названием `итераторы и генераторы". Следующий код не работает...

var omega = new Set([1, 2, 3, 4, 5, 6]);
var filtered = _.(omega).filter(even); // filtered should be of type set

...и мой обходной путь выглядит так...

var omega = new Set([1, 2, 3, 4, 5, 6]);
var filtered = new Set(_.([...omega]).filter(even));

Поддерживаются ли итерационные объекты подчеркиванием? Если нет, то какой был бы самый элегантный способ избежать набора текста [...myIterable] и сохранить установленный тип данных?

1 2

1 ответ:

Подчеркивание пока не поддерживает ES6 итераций. https://github.com/jashkenas/underscore/issues/2147

Подчеркивание должно быть в состоянии понять, что вы передаете его, поэтому ваш обходной путь для преобразования iterable в массив сначала кажется лучшим подходом.