Javascript变量中的多个值

时间:2013-04-04 17:35:21

标签: javascript

有没有办法让一个变量具有多个这样的值:

var variable = 1, 2, 3;
var enteredVal = 1;

if (enteredVal == variable){
    alert('You chose the right number');
}

因此,如果变量enteredVal等于1,2或3,它将提醒消息。 我似乎无法理解它。

6 个答案:

答案 0 :(得分:10)

无法为单个变量分配多个不同的值。

另一种方法是让variable成为Array,您可以查看数组中是否有enteredval

var variable = [1, 2, 3];
var enteredval = 1;

if (variable.indexOf(enteredval) > -1){
    alert('you chose the right number');
}

请注意,数组上的indexOfnot 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
    }
}

要在实例化数组后修改数组,请查看pushpopshiftunshift以添加/删除值。要修改现有值,您可以直接访问索引并重新分配值。

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'); };