Javascript 如何使用开关站
我是JS新手,我读到了switch语句。我不知道如何使用它 我有一个练习要完成。 得到了一个数字为1-10的数组,结果需要包含“1”、“2”、“3”等单词。。 这就是我目前得到的:Javascript 如何使用开关站,javascript,arrays,switch-statement,Javascript,Arrays,Switch Statement,我是JS新手,我读到了switch语句。我不知道如何使用它 我有一个练习要完成。 得到了一个数字为1-10的数组,结果需要包含“1”、“2”、“3”等单词。。 这就是我目前得到的: function sayNum(){ let nameNumber = [1,2,3,4,5,6,7,8,9,10] let text = ''; for(let i=0;i<nameNumber.length;i++){ switch(numbers) { ca
function sayNum(){
let nameNumber = [1,2,3,4,5,6,7,8,9,10]
let text = '';
for(let i=0;i<nameNumber.length;i++){
switch(numbers) {
case "1":
text = "one";
break;
case "2":
text = "two";
break;
case "3":
text = "three";
break;
case "4":
text='four';
break;
case "5":
text = "five";
break;
case "6":
text = "six";
break;
case "7":
text = "seven";
break;
case "8":
text = "eight";
break;
case "9":
text = "nine";
break;
case "10":
text = "ten";
}
}
return text;
}
sayNum()
函数sayNum(){
设nameNumber=[1,2,3,4,5,6,7,8,9,10]
让text='';
对于(设i=0;i你可以这样做,例如:
function sayNum(){
let numbers = [1,2,3,4,5,6,7,8,9,10];
let result = [];
for(let i=0;i<numbers.length;i++) {
switch(numbers[i]) {
case 1:
text = "one";
break;
case 2:
text = "two";
break;
case 3:
text = "three";
break;
case 4:
text = "four";
break;
case 5:
text = "five";
break;
case 6:
text = "six";
break;
case 7:
text = "seven";
break;
case 8:
text = "eight";
break;
case 9:
text = "nine";
break;
case 10:
text = "ten";
break;
}
result.push(text);
}
return result;
}
let namedNumbers = sayNum();
console.info(namedNumbers);
函数sayNum(){
设数=[1,2,3,4,5,6,7,8,9,10];
让结果=[];
对于(让i=0;i在switch语句中,将一个“表达式”传递到switch语句中。表达式本身可以是字符串、数字、浮点、布尔等。现在,将表达式与每个case子句进行比较。这是一个'strict'比较。这就是代码无法工作的原因
首先,您传递了一个未声明的变量'numbers'作为开关表达式。相反,您应该传递nameNumber[i]
数组的ith
元素,如下所示:switch(nameNumber[i]){}
其次,在每一个case子句中,都将值与“1”、“2”之类的字符串进行比较。但是开关表达式是使用严格相等的==
运算符进行比较的,因此,当nameNumber数组包含数字而不是字符串时,“case”子句也应该包含数字而不是字符串。这意味着case 1:
而不是case“1”:
您可以在此处阅读有关开关盒的更多信息:
我已经用上面提到的更改修复了下面的代码。请运行下面的代码片段看看它是如何工作的。祝你好运
函数sayNum(){
设nameNumber=[1,2,3,4,5,6,7,8,9,10]
让text='';
对于(让i=0;i而不是使用switch,使用if语句。因为在switch中,break语句可用于跳出循环
let text='';
函数sayNum(){
让nameNumber=[1,2,3,4,5,6,7,8,9,10];
for(设i=0;i 控制台。日志(文本)< /代码>而不是使用<代码>开关<代码>,考虑一个数组,该数组具有值>代码> [一个','两个',','十' ] < /代码>,并用数字(1)索引它.…一系列问题:1.数字
未定义并导致脚本失败2.文本
在for循环内被覆盖,因此除了最后3个数字外,所有数字的开关块结果都被丢弃。程序不生成任何输出。修复:…这仍然是转换arr的一种极其冗长和低效的方法是的,但我明白了,这是为了一个非现实生活的练习:)…对于一个正在研究清楚事情的人来说:)嘿:)你的解释很好。非常感谢!!