如何在TypeScript中迭代一个集合?对于当然不起作用:

'Set<string>' is not an array type or a string type

.forEach是不可接受的,因为它隐藏了this.我不想在try-catch区块中做一个while循环.我错过了什么?它不可能如此笨拙,以至于需要try {while}捕捉{}.

推荐答案

@SnareChops基本上是正确的:

mySet.forEach(function(item){
    // do something with "this"
}, **this**);

这很管用.

我猜:

for(item of mySet.values()){
}

如果我没有把一切都搞糟的话.但是垫片material 是由Angular 2 crew指定的,所以_(ツ)_/¯

唯一有效的另一件事是:

for (var item of Array.from(set.values())) {
}

或者类似的事情,这太可怕了.

Typescript相关问答推荐

返回签名与其他类型正确的函数不同的函数

为什么在TypScript中写入typeof someArray[number]有效?

动态判断TypScript对象是否具有不带自定义类型保护的键

如何使类型只能有来自另一个类型的键,但键可以有一个新值,新键应该抛出一个错误

如何为父类构造函数中的修饰属性赋值?

rxjs forkJoin在错误后不会停止后续请求

TypeScrip界面属性依赖于以前的属性-针对多种可能情况的简明解决方案

<;T扩展布尔值>;

类型脚本满足将布尔类型转换为文字.这正常吗?

正确使用相交类型的打字集

确保对象列表在编译时在类型脚本中具有唯一键

如何按属性或数字数组汇总对象数组

为什么Typescript只在调用方提供显式泛型类型参数时推断此函数的返回类型?

使用泛型识别对象值类型

react 路由不响应参数

为什么类型脚本使用接口来声明函数?他的目的是什么.

TypeScript:如何使用泛型和子类型创建泛型默认函数?

如何在TypeScript类成员函数中使用筛选后的keyof this?

显式推断对象为只读

为什么 Typescript 无法正确推断数组元素的类型?