是否可以使用字符串作为数组的名称持有者?
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/