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]