我在这个freecodecamp问题中,我必须添加或减去一个全局变量。条件是
我已将条件放在函数内的数组中。我不知道如何检查参数/参数是否为字符串。
这是我的代码。期望输出' 5下注'但是我有一个输出' 4下注'
var count = 0;
function cc(card) {
// Only change code below this line
var plusOne = [2,3,4,5,6]; // <- +1 if the argument is here
var zero = [7,8,9]; // <- 0 if the argument is here
var negative =[10,'J','Q','K','A']; // <- -1 if the argument is here
if(plusOne.indexOf(card)) {
count+=1;
} else if(zero.indexOf(card)) {
count+=0;
} else if(negative.indexof(card)) {
count+=-1;
}
// return count output
if(count>1) {
output = count + ' Bet'; //<- global
return output.toString();
} else { //<-- if below zero
output = count + ' Hold';
return output.toString();
}
// Only change code above this line
}
// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(4); cc(5); cc(6); //<-- call
答案 0 :(得分:0)
indexOf()
返回数组中项目的位置,如果它在那里则为整数,如果不是则返回-1。 Documentation
当您尝试查找卡片2时,indexOf()
会将其作为索引0返回,因为它是数组中的第一个元素。
然后,您的if语句将索引0转换为布尔值,该语句为false。因此,缺少一次添加,结果为4 Bet
而不是5 Bet
检查indexOf()
返回-1的元素未找到条件。