📜  集合到数组 javascript (1)

📅  最后修改于: 2023-12-03 15:42:25.514000             🧑  作者: Mango

集合到数组 JavaScript

在JavaScript中集合是保存多个值的方式。它们是可枚举对象,具有键和值。可以使用集合来保存和操作一组值。然后,将集合转换为数组是常见且方便的任务。

集合和数组

JavaScript 中有三种构造集合的基本方式:数组、对象和 Map。

数组是有序集合,其中每个元素都有一个数字索引。

const array = ["apple", "banana", "cherry"];

对象是无序集合,其中每个元素都有一个字符串键。

const object = { fruit1: "apple", fruit2: "banana", fruit3: "cherry" };

Map是一个有序集合,其中每个元素都有一个键和一个值。

const map = new Map([
  ["fruit1", "apple"],
  ["fruit2", "banana"],
  ["fruit3", "cherry"]
]);
将集合转换为数组

数组是一种函数式数据类型,可以在其上应用许多有用的方法,例如 map、filter 和 reduce。因此,将集合转换为数组是常见的任务。

使用 Array.from()

Array.from() 方法接受一个 arrayLike 对象或可迭代对象,并返回一个数组。

const set = new Set(["apple", "banana", "cherry"]);
const array = Array.from(set);
console.log(array);                 //["apple", "banana", "cherry"]
使用展开运算符(...)

使用展开运算符(...)的思路与Array.from()方法类似,它允许我们将数组展开并转换为数组。

const set = new Set(["apple", "banana", "cherry"]);
const array = [...set];
console.log(array);                 //["apple", "banana", "cherry"]
使用Array.prototype.slice()

我们可以使用slice()方法将数组浅拷贝到一个新数组中。

const set = new Set(["apple", "banana", "cherry"]);
const array = Array.prototype.slice.call(set);
console.log(array);                 //["apple", "banana", "cherry"]
使用for...of循环

使用for...of循环遍历集和迭代元素并将它们添加到数组中。

const set = new Set(["apple", "banana", "cherry"]);
const array = [];
for (const element of set) {
  array.push(element);
}
console.log(array);                 //["apple", "banana", "cherry"]
结论

在JavaScript中,集合是一个方便的数据类型,它允许我们在单个对象中保存多个不同的值。然而,在实际的应用中,我们通常需要将集合转换为数组,便于使用JavaScript原生的数组方法。上述介绍四种方法在不同的场景下将集合转换为数组的方法,可以根据自己的需要选择合适的方法使用。