HOWTO · JavaScript

在 JavaScript 中将 Set 转换为数组

了解如何在 JavaScript 中将 Set 转换为数组

本页内容

在本文中,我们将研究在 JavaScript 中将 Set 转换为数组。

在 JavaScript 中使用 Array.from() 将集合转换为数组

  • Array.from() 允许你从以下来源构建数组:
  • 类数组对象(具有索引项和长度属性的对象);或者
  • 可以迭代的项目(例如 Map 和 Set)。

从像 Set 这样的可迭代对象中,Array.from() 方法可以构造浅拷贝的 Array 实例。使用 ES6,它被添加到 Array 对象中。这就是代码的样子:

var aa = new Set([1, 3, 5, 7]);
let ar = Array.from(aa);

console.log(ar);

输出:

[1, 3, 5, 7]

在 JavaScript 中使用 Spread 运算符将集合转换为数组

扩展 syntax (...) 扩展迭代,例如数组表达式或字符串,其中需要零个或多个参数(用于函数调用)或元素(用于数组文字),或者零个或多个键值对扩展为预期的位置(对于对象文字)。

你还可以使用扩展运算符将 Set 更改为数组。展开语法允许增加集合,其中需要一个数组文字。反过来,它引入了 JavaScript 的 ES6 规范。

下面测试它的使用:

var aa = new Set([1, 3, 5, 7]);
let ar = [...aa];

console.log(ar);

输出:

[1, 3, 5, 7]

使用 JavaScript 中的 Set.prototype.forEach() 函数将 Set 转换为数组

另一种解决方案是将 Set 的每个元素添加到数组中。这可以使用 forEach() 方法轻松完成,如下所示:

var aa = new Set([1, 3, 5, 7]);
let ar = [];
aa.forEach(k => ar.push(k));

console.log(ar);

forEach() 方法为 Set 对象中的每个值执行一次提供的回调。

输出:

[1, 3, 5, 7]