NodeJS 字母数组中的数字:编号[ ] = [ ];给出此错误“语法错误:意外标记“:”“

kxeu7u2r  于 2023-01-25  发布在  Node.js
关注(0)|答案(1)|浏览(74)

我尝试自动用1到100的数字填充一个空数组,然后在满足以下条件时给予输出:
1.如果数字不能被3和5整除,则打印数字。
1.如果数字可被3整除,则打印Fizz。
1.如果number可被5整除,则打印Buzz。
1.如果number可被3和5整除,则打印FizzBuzz。

let num: number | string [] = [];

for (let i=1; i<=100; i++){
    if ( i % 3 == 0 && i % 5 !== 0 ) {
        num.push("Fizz");
    } if ( i % 3 !== 0 && i % 5 == 0 ){
        num.push("Buzz");
    }  if ( i % 3 == 0 && i % 5 == 0 ){
        num.push("FizzBuzz");
    } if ( i % 3 !== 0 && i % 5 !== 0 ) {
        num.push(i);
    }
}

console.log(num);

我在JavaScript中运行了相同的代码,但没有声明num类型(即num:数|string []),代码运行正常,但当我在TypeScript中运行它时,它出现以下错误。

└─$ node test.ts 
/home/ahmed/Tutorials/JavaScript/test.ts:1
let num: number | string [] = [];
       ^

SyntaxError: Unexpected token ':'
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1088:15)
    at Module._compile (node:internal/modules/cjs/loader:1123:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.12.1
flseospp

flseospp1#

要运行typescript文件,您需要运行以下命令,然后它将生成一个javascript文件,您可以运行该js文件。

tsc test.ts

相关问题