gpt4 book ai didi

javascript - 通过 IF 语句加分

转载 作者:行者123 更新时间:2023-12-03 16:48:30 24 4
gpt4 key购买 nike

我正在尝试构建一个脚本,用户必须在其中对某些单词进行排名。我试图让分数保持最新,但它总是出错。当我测试代码并回答 AB 时,orientaal 的结果等于 5。结果应该是 orientaal = 3 和 bloemig = 2。这是我编写的代码(我不是很有经验):

var orientaal = 0;
var houtig = 0;
var bloemig = 0;
var aromatisch = 0;
var chypre = 0;
var citrus = 0;

var q1 = prompt('Welk element spreekt jou het meest aan? Zet de letters van hoog naar laag (Bijv. DBAC). \n A. Vuur \n B. Lucht \n C. Aarde \n D. Water')

if(q1.charAt(0) == 'A' || 'a') {
orientaal = orientaal + 3;
}else if(q1.charAt(0) == 'B' || 'b') {
bloemig = bloemig + 3;
}else if(q1.charAt(0) == 'C' || 'c') {
houtig = houtig + 3;
}else if(q1.charAt(0) == 'D' || 'd') {
citrus = citrus + 3;
}

if(q1.charAt(1) == 'A' || 'a') {
orientaal = orientaal + 2;
}else if(q1.charAt(1) == 'B' || 'b') {
bloemig = bloemig + 2;
}else if(q1.charAt(1) == 'C' || 'c') {
houtig = houtig + 2;
}else if(q1.charAt(1) == 'D' || 'd') {
citrus = citrus + 2;
}

console.log('orientaal = ' + orientaal);
console.log('houtig = ' + houtig);
console.log('bloemig = ' + bloemig);
console.log('aromatisch = ' + aromatisch);
console.log('chypre = ' + chypre);
console.log('citrus = ' + citrus);

最佳答案

if(q1.charAt(0) == 'A' || 'a') 并不像您认为的那样。具体来说,这说

if the first character of q1 is 'A', or 'a' is truthy

由于后半部分始终为真(除空字符串外,所有字符串均为真),您总能在此处获得通过。

相反,请考虑如下使用 switch:

switch(q1[0]) { // strings can be accessed as arrays of characters
case 'A':
case 'a':
orientaal += 3;
break;
case 'B':
case 'b':
// .......
}

关于javascript - 通过 IF 语句加分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42835100/

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