有没有办法让一个变量具有多个这样的值:
var variable = 1, 2, 3;
var enteredVal = 1;
if (enteredVal == variable){
alert('You chose the right number');
}
因此,如果变量enteredVal等于1,2或3,它将提醒消息。 我似乎无法理解它。
答案 0 :(得分:10)
无法为单个变量分配多个不同的值。
另一种方法是让variable
成为Array
,您可以查看数组中是否有enteredval
。
var variable = [1, 2, 3];
var enteredval = 1;
if (variable.indexOf(enteredval) > -1){
alert('you chose the right number');
}
请注意,数组上的indexOf
为not usable in IE8 and below(请参阅底部的“要求”部分)。在这种情况下,您需要使用框架/库的方法,或自己编写:
var variable = [1, 2, 3];
var enteredval = 1;
for (var i = 0; i < variable.length; i++) {
if (variable[i] === enteredval) {
alert('you chose the right number');
break; // No need to check all the other values in variable
}
}
要在实例化数组后修改数组,请查看push
,pop
,shift
和unshift
以添加/删除值。要修改现有值,您可以直接访问索引并重新分配值。
variable[1] = 5;
// variable is now [1, 5, 3] since arrays are 0-indexed
答案 1 :(得分:1)
您可以将它们存储在数组中并使用indexOf
(只要您不需要IE 8支持):
var supportedOptions = [1, 2, 3],
enteredVal = 1;
if(supportedOptions.indexOf(enteredVal) !== -1) alert("Yep!");
答案 2 :(得分:1)
尝试使用数组:
var variables = [1, 2, 3];
您可以使用variables[i]
访问数组的成员,其中i
是数组的索引,从0
开始。
variables[0]
返回1
variables[1]
返回2
variables[2]
返回3
这样您可以使用for
循环遍历数组:
var enteredval = 1; //your guess
for(var i = 0; i < variables.length; i++) { //go through each element
if(variables[i] == enteredval) { //if they match...
alert("You chose the right number!"); //...then you got it!
}
}
答案 3 :(得分:1)
您可以将变量的值存储为对象中的键。例如:
let variable={
1:0,
2:0,
3:0
}
enteredVal=3
if (enteredVal in variable) {
alert('You chose the right number');
}
答案 4 :(得分:0)
您将要创建一个可以容纳多个值的array
。然后,您需要使用index of
来确定是否在数组中找到了值。
var myArray = new Array();
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = 3;
检查值:
if(myArray.indexOf(1) > -1){
// exists
}
答案 5 :(得分:0)
您可以实现字符串的indexof函数。
var variable = '1,2,3';
var enteredval = '1';
if (variable.indexOf(enteredval) > -1) { alert('you choosed the right number'); };