Javascript数组名称存储在字符串中

时间:2014-07-06 10:43:38

标签: javascript php arrays string

让我说我有这个;

var str = "array1";
var array1 = [a,b,c];

我正在寻找的是一种写这样的东西的方法(答案将是“a”);

var answer = str.value[0];

即。我希望能够使用存储在字符串str。

中的文本来访问数组“array1”

感谢您的任何建议。 (如果您理解我从上面提出的要求,并且有一个简单的答案,则无需进一步阅读)

我的问题详情:

我在表单上有一些选项按钮。 当单击其中任何一个时,我运行一个函数并显示与单击的按钮相关的数组。每个按钮都有一个与之相关的不同2D数组。

我的想法是,如果需要array1,则通过传递值“array1option”来传递标识要使用的数组的值。然后在函数中,选择哪个数组并不重要,因为我只需要切掉字符串的“选项”部分并将结果数组存储到数组中(DesiredArray)。 其余代码将是用于显示整个2D数组DesiredArray的通用代码。

我的备份计划是使用3D数组(Javascript支持)但我会发现将数据放在单独的2D表中以便编辑更容易。

我确信最有效的方法是通过链接数据库,但我找不到任何真正简单的例子来展示我如何做到这一点,而且我对Javascript还不熟悉。

2 个答案:

答案 0 :(得分:0)

传递数组对象本身而不是名称。大概(假设你使用jQuery)

var array1 = ['a', 'b', 'c'];
var array2 = ['d', 'e', 'f'];

function myFunction(arr) {
   console.log( arr[0]);
}

// button1和button2的事件处理程序

$('#myButton1').on('click', function( evt) {
    myFunction( array1):
);

$('#myButton2').on('click', function( evt) {
    myFunction( array2):
);

答案 1 :(得分:-1)

引用这样的变量的最简单方法是将数组声明为另一个对象的属性:

var myStr = 'array1',
    myObj = {
        array1: ['a', 'b', 'c'],
        array2: ['d', 'e', 'f']
    };

console.log( myObj[myStr][0] );  // "a"