📅  最后修改于: 2023-12-03 15:42:25.514000             🧑  作者: Mango
在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() 方法接受一个 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"]
我们可以使用slice()方法将数组浅拷贝到一个新数组中。
const set = new Set(["apple", "banana", "cherry"]);
const array = Array.prototype.slice.call(set);
console.log(array); //["apple", "banana", "cherry"]
使用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原生的数组方法。上述介绍四种方法在不同的场景下将集合转换为数组的方法,可以根据自己的需要选择合适的方法使用。