c语言编程笔录

首页 >   > 笔记大全

笔记大全

javascript如何将set转为数组

更新时间:2023-11-11

JavaScript如何将Set转为数组?

Set是JavaScript ES6新增的数据结构类型,它允许存储任何类型的唯一值(无重复值),其中的值可以是字符串、数字、布尔值等。但有时候我们需要将Set结构类型转换成数组类型,方便我们的数组操作。本文将介绍JavaScript将Set结构类型转化为数组类型的方法。

1. Array.from()

Array.from()方法是ES6 Array新增的静态方法,用来将类数组对象或可遍历对象转换成具有相同元素的真正数组对象。Set可以被视为可遍历对象,因此可以用它来进行Set到Array的转换。下面是代码示例:

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

2. 扩展运算符(...)

扩展运算符(...)也可以用于Set转数组。它可以将一个可迭代的对象(包括数组,类数组和Set)转换为一个用逗号分隔的参数序列,从而可以用于函数调用或数组字面量。下面是代码示例:

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

3. Array.from() + Set.keys()

Set结构类型本身有一个keys()方法,用于返回一个包含Set对象中所有元素键的迭代器。通过使用Array.from()对这个迭代器进行迭代,可以一次性把所有元素存入到一个数组中。下面是代码示例:

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

4. Array.from() + Set.values()

Set结构类型还有一个values()方法,用于返回一个包含Set对象中所有元素值的迭代器。可以通过使用Array.from()对这个迭代器进行迭代来获取Set结构中所有元素值,然后存入数组中。下面是代码示例:

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

总结

在JavaScript中,将Set结构类型转换成数组类型主要有四种方法:Array.from()、扩展运算符(...)、Array.from() + Set.keys()、Array.from() + Set.values()。这些方法都可以很好地完成Set到Array的转换。