gpt4 book ai didi

JavaScript switch 语句无法匹配大小写

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:37 27 4
gpt4 key购买 nike

我有以下问题需要解决。

问题 5. 数字作为单词

编写一个脚本,要求输入一个数字 (0-9),并根据输入将数字显示为一个单词(英文)。在无效输入的情况下打印“not a digit”。使用 switch 语句。示例:

digit   result
2 two
1 one
0 zero
5 five
-0.1 not a digit
hi not a digit
9 nine
10 not a digit

=

这是我的 JavaScript 和 HTMLHTML:

<input type="text" id="textInput">
<button id="react">Check</button>
<p id="result"></p>

我的 JavaScript:

document.addEventListener("DOMContentLoaded",function(){

var input = document.getElementById('textInput');
var button = document.getElementById('react');
var result = document.getElementById('result');


button.addEventListener('click',function(){

switch (input.value) {
case 0:
result.innerHTML = 'zero';
break;
case 1:
result.innerHTML = 'one';
break;
case 2:
result.innerHTML = 'two';
break;
case 3:
result.innerHTML = 'three';
break;
case 4:
result.innerHTML = 'four';
break;
case 5:
result.innerHTML = 'five';
break;
case 6:
result.innerHTML = 'Six';
break;
case 7:
result.innerHTML = 'Seven';
break;
case 8:
result.innerHTML = 'Eight';
break;
case 9:
result.innerHTML = 'Nine';
break;
default:
result.innerHTML = 'not a digit';
break;
}

});

});

问题是,当我键入 0-9 之间的数字时,它会显示默认语句。

最佳答案

value 为字符串格式。将其转换为数字,因为 switch 语句不强制类型(与 if 语句不同)

switch(+input.value) {

switch(parseInt(input.value, 10)) {

我还建议使用数组或对象。

var arr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];

result.innerHTML = arr[+input.value] || 'Not a Digit';

关于JavaScript switch 语句无法匹配大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36517333/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com