如何在TypeScript中将Set转换为数组

tha*_*hpk 43 arrays set typescript typescript1.8

如何在没有明确编写循环的情况下将Type(例如{2,4,6})转换为TypeScript中的数组[2,4,6]?

我尝试了以下方法,所有这些方法都在JavaScript中工作,但它们都不适用于TypeScript

[...set] // ERR: "Type 'Set<{}>' is not an array type" in typescript

Array.from(set) // ERR: Property 'from' does not exist on type 'ArrayConstructor'
Run Code Online (Sandbox Code Playgroud)

may*_*ger 63

你也可以

Array.from(my_set.values());
Run Code Online (Sandbox Code Playgroud)

  • 这应该被标记为正确答案 (4认同)

bas*_*rat 17

固定

  • 使用tsconfig.json "lib": ["es6"]

更多

  • 文档链接无效。 (2认同)

Oha*_*adR 13

如果你这样声明你的集合:

const mySet = new Set<string>();
Run Code Online (Sandbox Code Playgroud)

您将能够轻松使用:

let myArray = Array.from( mySet );
Run Code Online (Sandbox Code Playgroud)


Jos*_*man 5

或者简单地

const mySet = new Set<string>();
mySet.add(1);
mySet.add(2);
console.log([...mySet.values()]);
Run Code Online (Sandbox Code Playgroud)