Joh*_*ens 1 javascript arrays switch-statement
我想要一些关于如何减少这个开关的建议:
switch (lotUser | winningLot) {
case lotUser === winningLot[0]:
case lotUser === winningLot[1]:
case lotUser === winningLot[2]:
case lotUser === winningLot[3]:
case lotUser === winningLot[4]:
case lotUser === winningLot[5]:
case lotUser === winningLot[6]:
case lotUser === winningLot[7]:
console.log("You win!");
break;
default:
console.log("You do not win!");
break;
}
Run Code Online (Sandbox Code Playgroud)
代替
case lotUser === winningLot[0]:
Run Code Online (Sandbox Code Playgroud)
我写的脚本是:
switch (lotUser | winnendLot) {
case lotUser === winnendLot[0|1|2|3|4|5|6|7]:
console.log("You win!");
break;
default:
console.log("You do not win!");
break;
}
Run Code Online (Sandbox Code Playgroud)
我只是不知道这是否按照我希望的方式工作.它需要检查生成的lotUser是否等于数组中的一个值(winningLot).如果lotUser等于winnerLot数组中的一个或多个值,则应输出"You win!".有人可以确认我的代码是否符合我的描述?
if (winnedLot.indexOf(lotUser) !== -1) {
console.log("Won!");
}
else {
console.log("Lost!");
}
Run Code Online (Sandbox Code Playgroud)
它在数组中搜索存储的第一个值,lotUser并返回其相应的索引.
由于您不需要计算出现次数,因此这应该是最好的方法.
如果要计算它们,请使用循环:
var count = 0;
for (var i=0, len=winnedLot.length; i<len; i++) {
if (winnedLot[i] === lotUser) {
count++;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |