我正在自学 JavaScript,我想编写一个简单的程序来检查用户输入是否在预先存在的数组中。
示例代码是:
var options = ['rock','paper','scissors'];
var choice = 'scissors';
var i;
for (i=0;i<options.length;i++){
if (choice === options[i]){
console.log('match');
}
}
我尝试添加一个 else,它会提示用户输入一个新的输入,但每次 for 循环遍历与输入不匹配的数组对象时它都会运行。
我的最终目标是让这个小程序仅在检测到用户的输入与任何数组对象不匹配时提示用户一次新输入。
最佳答案
您可以使用 if 语句代替 for 循环。
var options = ['rock', 'paper', 'scissors'];
var choice = 'scissors';
if(options.indexOf(choice) !== -1) {
console.log('match');
}
Array.indexOf() 方法在数组中搜索一个值,如果数组中不存在则返回 -1。
所以你可以做相反的事情,看看是否没有匹配。
if(options.indexOf(choice) === -1) {
console.log('no match');
}
关于javascript - 检查变量是否与 JavaScript 中的数组匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33583789/