我在使用Typescript 2.6的代码上遇到了以下奇怪的问题。我试图遍历一组字符串值,但我收到以下错误,我不明白为什么。
'输入'设置'不是数组类型或字符串类型。 '
这就是我所拥有的:
loopThroughSet(): void {
let fruitSet = new Set()
.add('APPLE')
.add('ORANGE')
.add('MANGO');
for (let fruit of fruitSet) {
console.log(fruit);
}
}
有谁知道问题是什么? 提前致谢
答案 0 :(得分:3)
在TS中未定义Set,您需要使用es2017.object配置TS或将Set值转换为array:
for (var item of Array.from(fruitSet.values())) {
console.log(item);
}
答案 1 :(得分:1)
您可以使用fruitSet.forEach( fruit => ... )
如果您想使用for..of
,请尝试展开运算符:for (const fruit of [...fruitsSet]) { ... }
答案 2 :(得分:0)
就我而言,我需要在不定义和使用标记为 unused by ESLint 的变量的情况下遍历 7 个项目的范围,并且spread syntax 帮了大忙。
[...Array(7)].map(() => {
// some code
});
代替
for (const _ of range(0, 7)) {
// Some code
}