Set似乎是一种创建具有保证唯一元素的Array的好方法,但是它没有公开任何获取属性的好方法,除了Generator [Set] .values之外,后者以尴尬的方式调用mySet.values.next()。
如果可以map在Set上调用和类似的函数,那应该没问题。但是您也不能那样做。
我试过了Array.from,但似乎只是将类似数组的对象(NodeList和TypedArrays?)转换为Array。另一种尝试:Object.keys不适用于Set,并且Set.prototype没有类似的静态方法。
因此,问题是:是否存在任何方便的内置方法来创建具有给定Set值的Array?(元素的顺序并不重要)。
如果不存在这样的选择,那么也许有一个很好的惯用一线做这件事?喜欢,使用for...of还是类似?
如果不存在这样的选择,那么也许有一个很好的惯用一线做这件事?喜欢,用于...或类似的东西?
事实上,有几种方法的转换设置一个数组:
使用 Array.from
let array = Array.from(mySet);
只需spreading将阵列中的列
let array = [...mySet];
以旧的方式迭代并推入新数组(Sets具有forEach)
let array = []; mySet.forEach(v => array.push(v));
以前,使用非标准且现已弃用的数组理解语法:
let array = [v for (v of mySet)];
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。