将Javascript`Set`转换为数组[重复]
Posted
技术标签:
【中文标题】将Javascript`Set`转换为数组[重复]【英文标题】:Convert a Javascript `Set` to an array [duplicate] 【发布时间】:2016-04-15 07:06:53 【问题描述】:似乎没有一种简单而优雅的方式将 javascript Set
转换为数组。
var set = new Set();
set.add("Hello");
set.add("There");
set.add(complexObject);
var setConvertedToArray = convertSetToArray(set);
console.log( setConvertedToArray ); // ["Hello", "There", ►Object ]
map
感觉不错,但Set
原型只有forEach
。
呸:
function convertSetToArray(set)
var a = [];
set.forEach( x => a.push(x) );
return a;
有人知道将Set
转换为数组的好方法吗?
【问题讨论】:
或者更好的How to convert Set to Array? 【参考方案1】:一些方法:
[...set];
[...set.keys()];
[...set.values()];
Array.from(set);
Array.from(set.keys());
Array.from(set.values());
【讨论】:
【参考方案2】:您可以使用 Array.from() 方法从 Array 中返回一个数组,类似于 Set
等对象
var set = new Set();
set.add("Hello");
set.add("There");
set.add();
var setConvertedToArray = Array.from(set);
document.body.innerhtml = setConvertedToArray instanceof Array;
【讨论】:
以上是关于将Javascript`Set`转换为数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将数组转换为“2元组”数组的Javascript函数[重复]
使用map方法将javascript对象数组转换为其他对象数组[重复]