gpt4 book ai didi

javascript - 为电话键盘赋予数值

转载 作者:行者123 更新时间:2023-11-30 09:01:15 26 4
gpt4 key购买 nike

我正在尝试使用评估键入“编程挑战很有趣”时按下的按钮值的乘积。我已经在每个 if/else if 语句中定义了键,并运行一个 for 循环来获取每个字母的值。

var string = "Programming Challenges are fun".toLowerCase();
var sum = 1;
for (i = 0; i < string.length; i++) {
var letter = string[i];
if (letter == "a" || "b" || "c") {
sum = sum*2;
}

当我运行脚本时,它每次都运行这个 if 语句,次数与字符串的长度一样多。我也通过将 document.write(sum) 放在我的 for 循环中来展示这一点。

    else if (letter == "d" || "e" || "f"){
sum = sum*3;
}
else if (letter == "g" || "h" || "i"){
sum = sum*4;
}
else if (letter == "j" || "k" || "l"){
sum = sum*5;
}
else if (letter == "m" || "n" || "o"){
sum = sum*6;
}
else if (letter == "p" || "r" || "s"){
sum = sum*7;
}
else if (letter == "t" || "u" || "v"){
sum = sum*8;
}
else if (letter == "w" || "x" || "y"){
sum = sum*9;
}
else if (letter = ""){
sum = sum;
}
document.write(sum);
document.write("<br>");
};

document.write(sum);

知道为什么要这样做吗?谢谢

最佳答案

因为 "b" 是一个 true 值,所以即使字母不是 "a" 它也会通过 if 条件。

相反,试试这个:

var keys = {
a:2, b:2, c:2,
d:3, e:3, f:3,
g:4, h:4, i:4,
j:5, k:5, l:5,
m:6, n:6, o:6,
p:7, q:7, r:7, s:7,
t:8, u:8, v:8,
w:9, x:9, y:9, z:9
},
sum = 1,
string = "Programming Challenges are fun".toLowerCase(),
l = string.length, i;
for( i=0; i<l; i++) {
if( keys[string[i]]) sum *= keys[string[i]];
}
document.write("The total is: "+sum);

关于javascript - 为电话键盘赋予数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145231/

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