ES6 如何将 Set 转化为数组

例如:

const mySet = new Set(); 

Set 对象具有以下特征:

  • Set 实例的成员唯一,不会重复。
  • Set 实例可以存储任何类型的值,包括基本类型和对象。
  • Set 实例是可迭代的,可以使用 for...of 循环遍历其中的值。
  • Set 实例的 size 属性可以用来获取它包含的成员数量。

Set 对象有以下常用方法:

add(value):添加一个值到 Set 实例中。 delete(value):从 Set 实例中删除一个值。 has(value):判断 Set 实例中是否包含某个值,返回一个布尔值。 clear():清空 Set 实例中的所有值。

可以使用以下代码创建一个包含几个元素的 Set 对象并使用其方法:

const mySet = new Set();
mySet.add(1);
mySet.add("two");
mySet.add({ name: "DevPoint" });

console.log(mySet.has("two")); // 输出 true

mySet.delete(1);

console.log(mySet.size); // 输出 2

mySet.clear();

console.log(mySet.size); // 输出 0 

在 ES6 中,可以使用 Array.from() 方法将 Set 转换为数组。该方法接受一个可迭代对象,并返回一个新数组。

例如,假设有一个 Set 对象 mySet,可以按以下方式将其转换为数组:

const mySet = new Set([1, 2, 3]);
const myArray = Array.from(mySet);
console.log(myArray); // 输出 [1, 2, 3] 

除此之外,还可以使用扩展运算符 ... 来将 Set 转换为数组。例如:

const mySet = new Set([1, 2, 3]);
const myArray = [...mySet];
console.log(myArray); // 输出 [1, 2, 3] 

这种方法更简洁,但不支持 IE 浏览器。

除了使用 Array.from() 方法和扩展运算符 ...,还有就是通过遍历 Set 并将每个元素添加到一个新数组中。

const mySet = new Set([1, 2, 3]);
const myArray = [];
for (let item of mySet) {myArray.push(item);
}
console.log(myArray); // 输出 [1, 2, 3] 

最后

最近还整理一份JavaScript与ES的笔记,一共25个重要的知识点,对每个知识点都进行了讲解和分析。能帮你快速掌握JavaScript与ES的相关知识,提升工作效率。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

猜你喜欢

转载自blog.csdn.net/web220507/article/details/129597688
今日推荐