javascript - 指向数组的字符串指针

标签 javascript arrays object pointers

是否可以使用字符串作为数组的名称持有者?

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/

相关文章:

javascript - 如何连续垂直自动滚动div内容

javascript - 如何使用 match() 分割数组中的行?

JavaScript:将字符串数组转换为变量数组并将其作为参数传递给函数

java - 如何正确编译 tostring 方法

java - 在某个数字 : Comparable smallestAfter(Comparable[] values, 之后查找最小数字可比较)

javascript - 在不同的屏幕分辨率下运行不同的 JavaScript

javascript - 用逗号格式化数字并获取总值

ios - 在 TableView 中填充数组字典的高效且干净的方法

java - 如何在 Java 中交换字符数组(就地)

javascript - 初始化 "complex"嵌套的 javascript/对象