对JavaScript很新,我假设我的问题的答案非常简单,我只是不知道我在做什么,但是这里有:
当数组名由变量确定时,如何编写if语句来检查数组的值。
例如,假设我有类似的东西:
$x = 2
arr1 = [1, 1]
arr2 = [2, 2]
我想根据x的值确定我检查的数组。我正在尝试它的方式如下,但我确信这是不对的:
if (arr$x = 1)
alert ('2)
答案 0 :(得分:2)
使用您所在的范围。如果您在全局范围内定义了数组(即window
),则可以使用window ['arr'+ $ x]。如果你在(伪)命名空间内,如:
var myNamespace = {
arr1: [1,2],
arr2: [3,4]
}
您将使用myNamespace['arr'+$2]
答案 1 :(得分:1)
你已经知道了数组 - 让它们使用。数组可以包含任何,包括其他数组。只需将这两个数组存储在第三个(“二维”)数组中,并使用$x
作为索引。
请注意,无论如何,示例比较都将为false,因为您将数组(即多个值)与整数(即单个值)进行比较。
答案 2 :(得分:0)
我的猜测是你需要一个二维数组:
var x = 1;
var arr = Array();
arr[0] = ['1', '1'];
arr[1] = ['2', '2'];
alert(arr[x]);
答案 3 :(得分:0)
var conditionX = true; //when conditionX is true, search arr1 otherwise search arr2
var arrayToSearch = null;
var arr1 = [1, 1];
var arr2 = [2, 2];
if(conditionX)
{
arrayToSearch=arr1;
}
else
{
arrayToSearch=arr2;
}
答案 4 :(得分:0)
window["arr" + $x]
可以代替代码中的arr$x
。
另外,您应该在==
语句中使用if
,=
用于分配。
答案 5 :(得分:0)
编辑: oops ...看起来我已经太晚了= X
您将尝试使用多维数组,因此这是一个示例
var arr = [];
arr[0] = [1,2,3];
arr[1] = [4,5,6];
arr[2] = [7,8,9];
//Chose an array to examine
var choseArr = 1;
alert( arr[ choseArr ] );