gpt4 book ai didi

javascript - 通过另一个变量名访问对象的数据

转载 作者:行者123 更新时间:2023-11-30 18:02:38 25 4
gpt4 key购买 nike

太晚了,我现在脑子一片空白,但假设我有变量 filename,它正在存储另一个变量 marker 的名称。变量 marker 是一个数组,包含对象和属性 position: new google.maps.LatLng(42.2550,-114.3221)

我一直在愚蠢地尝试通过 filename.position 访问它,这当然会返回 undefined,因为它正在搜索文字 filename 来寻找一个“position”属性不存在。

但是我怎样才能使用 filename 拉取 marker.position 呢?是否有一些漂亮的 jQuery 技巧,呃,将变量“解析”为其内容?我脑残了我知道我以前做过。

最佳答案

如果在您的脚本中可行,您不仅可以将数据存储在变量中,还可以存储在某些对象的属性中(通常使用全局属性更方便)。例如

var myObj = {};
myObj.marker = new google.maps.LatLng(42.2550,-114.3221); // or anything else

然后您将能够使用这样的变量来获取此属性:

myObj[filename].position

在这种情况下,我还建议使用 typeof 结构检查 myObj[filename] 是否存在,只是为了确保这样的属性存在于 myObj.

if (typeof myObj[filename] !== "undefined") {
// do something
}

正如 apsillers 所指出的,您也可以为此使用全局 window 对象。但是,如果您的 marker 变量是在其他函数中定义的(即不是全局的),您将无法使用 window.markerwindow[filename] 因为它将超出范围。

第二种方法是使用 eval() 函数,我强烈建议避免

关于javascript - 通过另一个变量名访问对象的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com