Js提示验证为三个单词之一
js prompt validation to one of three words
我正在努力学习js。所以,为了学习,我想写一个小游戏,石头,剪刀,布。现在我想做一个提示符(),用户必须输入他想要选择的东西。但如果他没有写出3种可能的答案(石头、剪刀、布),他必须再做一次。
我的代码到目前为止:
function validateUserChoice() {
var localUserChoi = prompt("Please choose rock, paper or scissors");
while (localUserChoi != "rock" || localUserChoi != "paper" || localUserChoi != "stone") {
alert("You have to type one of the words: rock, paper, scissors");
localUserChoi = prompt("Bitte geben Sie rock, paper oder scissors ein");
}
userChoice = localUserChoice;
}
我知道while循环的条件是错误的,但是我必须在里面写什么?
干杯塞巴斯蒂安。
这行得通:
var answer = '';
var options = ['rock', 'paper', 'scissors'];
while (!~options.indexOf(answer)) {
answer = prompt('Please choose: "'+ options.join(', ') +'"');
};
解释:默认情况下,answer
不匹配任何数组值,因此prompt
在while循环中完成。当它与数组(0、1或2)的索引匹配后,索引被转换为:
~ =将索引加1,然后取负值,使0为-1,计算结果为
true
!=将其转换为相反的布尔值(其中true变为false以退出while循环)。
相关文章:
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 如何使用PHP和JS级联三个下拉列表
- 灯光问题(使用三个.js)
- 字母计数:返回重复字母数最多的第一个单词
- 在三个.js中创建球体(例如地球)的磁力线
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- 根据前两个下拉ID显示第三个下拉列表
- 在数组JS中查找三个重复项
- Meteor和S3:如何通过一次上传/编辑定义三个不同的图像
- 我如何从字符串中选出第一个单词的第一个字母,然后再选出第二个单词
- 如何替换javascript字符串中的前三个连字符
- 保存两个模型(属于第三个模型)和一个提交
- 正则表达式正好两三个单词
- JavaScript RegEx新手-从三个单词字符串中选择中间单词
- 由两个逗号分隔的三个单词的正则表达式
- Js提示验证为三个单词之一
- 从字符串中获取第二个和第三个单词
- 正则表达式.在这个领域找到三个单词