Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 使用jQuery根据变量的值选择数组_Javascript_Jquery_Variables_Select - Fatal编程技术网

Javascript 使用jQuery根据变量的值选择数组

Javascript 使用jQuery根据变量的值选择数组,javascript,jquery,variables,select,Javascript,Jquery,Variables,Select,我在js中定义了一些数组,我想使用变量的值来选择应该选择哪个数组 // My arrays var battery = [123, 321, "", ""]; var cables = [234, 432, "", ""]; $(document).ready(function() { var file = "battery.jpg"; var item = file.slice(0, -4); // item = "battery" console.log($(i

我在js中定义了一些数组,我想使用变量的值来选择应该选择哪个数组

// My arrays
var battery = [123, 321, "", ""];
var cables = [234, 432, "", ""];

$(document).ready(function() {

    var file = "battery.jpg";
    var item = file.slice(0, -4); // item = "battery"

    console.log($(item)[0]); // undefined and I was hoping to log "123" - battery[0]
});

可以使用二维数组

//var mydata=Array()
mydata["battery"] = [123, 321, "", ""];
mydata["cables"] = [234, 432, "", ""];

$(document).ready(function() {

  var file = "battery.jpg";
  var item = file.slice(0, -4); // item = "battery"

  console.log(mydata[item][0]); // undefined and I was hoping to log "123" - battery[0]
});
编辑:正如Dalorzo在评论中指出的,它不是数组。我将保留注释一致性的错误(注释)。

窗口[“some\u string”]
将生成一个名为some\u string的全局变量。比如
var一些字符串

因此,替换

console.log($(item)[0]);

它将使字符串
file.slice(0,-4)
成为一个全局变量

----或--

var item = file.slice(0, -4);
item = window[item]; // make that string a global variable
然后


mydata
的可能重复项不是数组,而是对象
mydata=Array()
似乎没有必要像@Dalorzo指出的那样,JavaScript没有关联的数组。答案是实现了期望的结果,但在数组和对象方面并不准确请参见:Rigth@Dalorzo,在javascript中有数组和对象,关联数组不存在。。。但是对于新手来说,使用正确的名字可能会让人困惑。无论如何,你是对的。
var item = file.slice(0, -4);
item = window[item]; // make that string a global variable
console.log(item[0]);