将Javascript“Set”转换为数组

Convert a Javascript `Set` to an array

本文关键字:转换 数组 Set Javascript      更新时间:2023-09-26

似乎没有一种简单而优雅的方法可以将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转换为数组的好方法吗?

一些方法:

[...set];
[...set.keys()];
[...set.values()];
Array.from(set);
Array.from(set.keys());
Array.from(set.values());

您可以使用Array.from()方法,该方法从类似于Set 的Array对象返回数组

var set = new Set();
set.add("Hello");
set.add("There");
set.add({});
var setConvertedToArray = Array.from(set);
document.body.innerHTML = setConvertedToArray instanceof Array;