Javascript 使用jQuery根据变量的值选择数组
我在js中定义了一些数组,我想使用变量的值来选择应该选择哪个数组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
// 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]);