根据变量

时间:2018-05-03 10:48:35

标签: javascript arrays

我有多个数组和一个selector变量,现在我想选择并在控制台中显示相应的数组,例如: if (selector == 1) {console.dir(array1)};
但是我觉得使用很多if子句来选择一个数组是没有用的,我需要一个更好的方法。

3 个答案:

答案 0 :(得分:1)

你可以拥有一个数组数组并使用它(你的选择器基本上是你想要在主数组中的数组的整数索引):

var masterArray = [ [1,2] , [3,4] ];

var selector = 1;

console.log(masterArray[selector]) //logs the second item [3,4]

console.log(masterArray[selector - 1]) //logs the first one [1,2] - use this if your selector is not zero indexed

编辑:详细阐述@Xufox对问题的评论

你也可以使用一个对象并像这样访问你的数组:

var myArrays = {
    array1: [1,2],
    array2: [3,4]
}

var selector = 1;

console.log(myArrays['array'+selector]) //[1,2]

答案 1 :(得分:0)

我建议改用对象。像这样:

var selectors = {
sel1: [
  0,
  5
],
sel2: [
  5,
  6
]
};
var i = 1;
console.log(selectors["sel" + i]);

答案 2 :(得分:0)

You can create nested arrays(array of arrays) in javascript like the way below if you want:

var arr=[];
for(var i=0;i<10;i++)
{
  arr[i]=new Array([i*2,i*3]);
}

// Then using the selector you can retrieve your desired value:


 var selector=1;

alert(arr[selector]);//2,3
alert (arr[3]); //6,9
alert(arr[2]); //4,6
alert(arr[2][0][0]); //4
alert(arr[2][0][1]); //6