当用户输入 5 时,我试图让 while 循环中断,但为什么这段代码不起作用:
var arr = [];
while(!arr.includes(5)){
arr.push(prompt("Enter a Number"));
}
alert("NUmber is here");
当用户输入 5 时,我试图让 while 循环中断,但为什么这段代码不起作用:
var arr = [];
while(!arr.includes(5)){
arr.push(prompt("Enter a Number"));
}
alert("NUmber is here");
prompt将始终返回一个字符串,而不是一个数字。改成:
while(!arr.includes('5')){
var arr = [];
while(!arr.includes('5')){
arr.push(prompt("Enter a Number"));
}
alert("NUmber is here");
从提示返回的值是一个字符串,因此将其转换为数字然后进行检查
var arr = [];
while(!arr.includes(5)){
arr.push(parseInt(prompt("Enter a Number")));
}
alert("NUmber is here");
var arr = [];
while(!arr.includes(5)){
var num = parseInt(prompt("Enter a Number"));
arr.push(num);
}
alert("NUmber is here");
或者您可以使用:
var arr = [];
while(!arr.includes('5')){
arr.push(prompt("Enter a Number"));
}
alert("NUmber is here");
因为严格包括检查相等性。
该includes方法使用严格相等 ( ===) 来检查特定值是否在数组中。 prompt将始终返回一个字符串,而不是一个数字,因此整数 5 永远不会在数组中。但是,字符串“5”将是。
当您将代码更改为while(!arr.includes('5')){(如CertainPerformance 指出的那样,它将起作用。