循环错误的Typescript

时间:2018-03-28 20:14:52

标签: javascript angular typescript angular5

我是Angular和Typescript的新手,我在for循环中遇到错误。有人可以帮我解决我做错的事吗?

steps=[];
totalNumberofSteps=3;
for (let idx = 0; idx <= totalNumberofSteps; idx++) {
    this.steps.push({ ordinal:idx, name: (idx == this.totalNumberofSteps) ? 'Finish' : idx});

  };

错误: Visual Code IDE出错

[ts]重复的标识符&#39; idx&#39;。

[ts]重复的标识符&#39; idx&#39;。

[ts]&#39;,&#39;预期

- [ts]参数初始值设定项仅允许在函数或构造函数实现中使用。

- (参数)idx:number

2 个答案:

答案 0 :(得分:2)

您不能在类主体中编写类似for循环的语句。他们必须进入构造函数或方法体

class C {
    constructor() {
    }

    // Invalid
    for(let i = 0; i < 1; i++) {

    }
}

VS

class C {
    constructor() {
        // OK
        for(let i = 0; i < 1; i++) {

        }
    }
}

答案 1 :(得分:1)

您的代码有误,您必须在条件语法中将;替换为:,例如此代码:

class TestCode {
    execute() {
        let steps = [];
        let totalNumberofSteps=3;

        for (let idx = 0; idx <= totalNumberofSteps; idx++) {
            steps.push({
                ordinal:idx,
                name: (idx == totalNumberofSteps) ? 'Finish' : idx
            });

            console.log(steps);
        }
    }
}

let test = new TestCode();
test.execute();