Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建名称为java脚本字符串的java脚本数组_Javascript_Arrays - Fatal编程技术网

Javascript 动态创建名称为java脚本字符串的java脚本数组

Javascript 动态创建名称为java脚本字符串的java脚本数组,javascript,arrays,Javascript,Arrays,我有一个动态生成的数组集合。我想做的是实现一个自动完成功能。我想在click事件处理程序中使用这些数组,方法是动态获取名称并将其分配给本地数组。但这不起作用(我不确定我的代码是否正确)。有没有办法做到这一点 以下是我认为应该有效的代码(无效): var ga_input1=新数组(“印度”、“俄罗斯”、“挪威”); var ga_input2=新数组(“德里”、“孟买”、“海得拉巴”); 国家: 城市: var arrayTmp=新数组(); $('input').keydown(函数(){

我有一个动态生成的数组集合。我想做的是实现一个自动完成功能。我想在click事件处理程序中使用这些数组,方法是动态获取名称并将其分配给本地数组。但这不起作用(我不确定我的代码是否正确)。有没有办法做到这一点

以下是我认为应该有效的代码(无效):


var ga_input1=新数组(“印度”、“俄罗斯”、“挪威”);
var ga_input2=新数组(“德里”、“孟买”、“海得拉巴”);
国家:
城市:
var arrayTmp=新数组();
$('input').keydown(函数(){
var id=$(this.attr('id');
arrayTmp=“ga_”+id;//我认为这里的ga_input1/ga_input2的值被分配给数组“arrayTmp”
//警报(arrayTmp[0]);
});

您可以将这些数组放在“映射”中,然后很容易地从中获取它们

这是如何做到的:

var countryMap = {};
countryMap["Europe"] = ['Russia', 'England', 'Norway'];
countryMap["America"] = ['USA', 'Canada', 'Mexico'];

....

var arrayTmp = countryMap["America"];
alert(arrayTmp[0]); //USA
alert(arrayTmp[1]); //Canada
alert(arrayTmp[2]); //Mexico

您可以将这些数组放在“映射”中,然后很容易地从中获取它们

这是如何做到的:

var countryMap = {};
countryMap["Europe"] = ['Russia', 'England', 'Norway'];
countryMap["America"] = ['USA', 'Canada', 'Mexico'];

....

var arrayTmp = countryMap["America"];
alert(arrayTmp[0]); //USA
alert(arrayTmp[1]); //Canada
alert(arrayTmp[2]); //Mexico

所有全局变量都是窗口对象的成员,因此:

arrayTmp = window["ga_"+id];
但我个人会把数据放在这样一个对象中:

data = {
    'input1': ['India','Russia','Norway'],
    'input2': ['Delhi','Mumbai','Hyderabad']
};
...
arrayTmp = data[id];

所有全局变量都是窗口对象的成员,因此:

arrayTmp = window["ga_"+id];
但我个人会把数据放在这样一个对象中:

data = {
    'input1': ['India','Russia','Norway'],
    'input2': ['Delhi','Mumbai','Hyderabad']
};
...
arrayTmp = data[id];

您在
arrayTmp
中拥有的只是一个字符串
“ga_input1”
。相反,请尝试
eval(“arrayTmp=ga_”+id)

您在
arrayTmp
中拥有的只是一个字符串
“ga_input1”
。相反,请尝试
eval(“arrayTmp=ga_”+id)

评估('var arrayTmp=ga_u'+id); 警报(arrayTmp[0])

eval('var arrayTmp=ga_'+id); 警报(arrayTmp[0])