是否可以将字符串用作数组的名称持有人?
var myArray = ["a","b","c"];
var myPointer = "myArray";
console.log(myPointer[1]); //Should return "b"
最佳答案
是的,您可以这样做。我知道几种方法。
第一个是使用eval()
,但是由于我认为eval()
是邪恶的,所以我不打算讨论它。
一种方法是知道您正在使用哪个范围。如果使用的是window
范围,则始终可以执行window[myPointer][1]
。如果您使用其他范围,则就像scope[myPointer][1]
一样简单。
如果您没有作用域或不愿意毒害您的窗口作用域,则可以始终使用以下方法:
function blork (pointer) {
var arrays = {
number : [ 0, 1, 2, 3, 4, 5 ],
letters : [ 'a', 'b', 'c', 'd', 'e' ]
}
return arrays[pointer];
}
编辑:正如在其他帖子的评论中指出的那样,这实际上不是指针。我假设您想根据字符串值动态确定要使用哪个数组。
关于javascript - 指向数组的字符串指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18896721/