接受提示数字输入+打印字符串

Accept prompt number input + print String

我正在尝试使用数字创建字符串输出。 用户输入一个数字+输出对应的字符串

我的代码似乎不正确 + 还有没有办法使用 for/while 循环来使它更整洁?

//Single input
let num = prompt("Please enter a number");


//Comparing if
if (num === 1)
{
   console.log("Mon");
} 
else if (num === 2)
{
  console.log ("Tue");
}
else if (num === 3)
{
  console.log ("Wedn");
}
else if (num === 4)
{
  console.log ("Thurs");
}
else if (num === 5)
{
  console.log ("Frid");
}
else if (num === 6)
{
  console.log ("Satu");
}
else if (num === 7)
{
  console.log ("Sund");
}

let num = prompt("Please enter a number"); returns 字符串,不是数字,你必须转换结果到编号。

一种方法:

let num = +prompt("Please enter a number"); // note the plus sign before prompt

let num = parseInt(prompt("Please enter a number"));

//Single input
let num = +prompt("Please enter a number");


//Comparing if
if (num === 1)
{
   console.log("Mon");
} 
else if (num === 2)
{
  console.log ("Tue");
}
else if (num === 3)
{
  console.log ("Wedn");
}
else if (num === 4)
{
  console.log ("Thurs");
}
else if (num === 5)
{
  console.log ("Frid");
}
else if (num === 6)
{
  console.log ("Satu");
}
else if (num === 7)
{
  console.log ("Sund");
}

关于使它更整洁?

const daysOfTheWeek = ["Mon", "Tue", "Wedn", "Thurs", "Frid", "Satu", "Sund"];
const day = +prompt("Please enter a number");

if(day > 0 && day <= daysOfTheWeek.length){
    console.log(daysOfTheWeek[day - 1]);
} else {
    console.log("No such day");
}

更简洁的方法是使用地图查找给定数字的日期。例如

let days = {
  1: "Mon",
  2: "Tue",
  3: "Wed",
  4: "Thur",
  5: "Fri",
  6: "Sat",
  7: "Sun",
}


let num = prompt("Please enter a number");
console.log(days[num])