Можно ли использовать методы итерации массива на экземплярах ES6 Set?
Я использую экземпляры ES6 Set, и мне нужно применить некоторые преобразования к ним. Это такие преобразования, которые были бы простыми, если бы они были массивами. Вот пример:
let s = new Set;
s.add(1);
s.add(2);
s.add(3);
let n = s.filter(val => val > 1); // TypeError, filter not defined
let n = Array.prototype.filter.call(s, val => val > 1); // []
Я надеялся, что результатом будет либо новый набор, либо массив. Я также хочу использовать другие методы понимания массива, такие какfilter
, map
, reduce
и т. д. И я также хотел бы иметь подобное поведение на экземплярах карты ES6.
Возможно ли это, или мне нужно использовать массивы vanilla JS?