如何搜索由变量确定的特定数组?

时间:2011-06-11 12:48:02

标签: javascript

对JavaScript很新,我假设我的问题的答案非常简单,我只是不知道我在做什么,但是这里有:

当数组名由变量确定时,如何编写if语句来检查数组的值。

例如,假设我有类似的东西:

$x = 2

arr1 = [1, 1]
arr2 = [2, 2]

我想根据x的值确定我检查的数组。我正在尝试它的方式如下,但我确信这是不对的:

if (arr$x = 1)
alert ('2)

6 个答案:

答案 0 :(得分:2)

使用您所在的范围。如果您在全局范围内定义了数组(即window),则可以使用window ['arr'+ $ x]。如果你在(伪)命名空间内,如:

var myNamespace = {
  arr1: [1,2],
  arr2: [3,4]
}

您将使用myNamespace['arr'+$2]

检索arr1

答案 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 ] );