我正在使用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); // []
我希望结果可以是新的Set或数组。我还想使用其他的数组解析方法,比如
filter
, map
, reduce
等。我也希望ES6 Map实例有类似的行为。这是否可行?还是说我需要使用原生JS数组?
for (let item of s)
来制作自己的过滤方法。 - Robert