Typescript循环遍历一组值

时间:2018-02-20 13:32:48

标签: javascript angular typescript typescript2.0

我在使用Typescript 2.6的代码上遇到了以下奇怪的问题。我试图遍历一组字符串值,但我收到以下错误,我不明白为什么。

  

'输入'设置'不是数组类型或字符串类型。 '

这就是我所拥有的:

loopThroughSet(): void {

        let fruitSet = new Set()
        .add('APPLE')
        .add('ORANGE')
        .add('MANGO');

        for (let fruit of fruitSet) {
            console.log(fruit);
        }
}

有谁知道问题是什么? 提前致谢

3 个答案:

答案 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
}