【问题标题】:Javascript unable to reference Hashmap using string nameJavascript 无法使用字符串名称引用 Hashmap
【发布时间】:2018-01-20 07:09:42
【问题描述】:

我的 javavscript 代码中有多个 Hashmap,我正在尝试根据传递给函数的名称动态加载相关映射。

问题是当我将值作为字符串值传递时,它实际上试图获取字符串的键而不是它所引用的对象。

这个jsfiddle 正确地说明了我的问题。

Line 13 给出预期的输出,而Line 14 根据字符串名称创建键。

【问题讨论】:

  • 制作另一个映射,将名称与相关对象关联或滥用全局变量是window 上的属性对于这种特殊情况
  • Object.keys(window[name]),但是你的代码没有意义
  • @Jonasw 我不确定你的意思是什么?我试图将我的代码的相关部分添加到小提琴
  • @anonn023432 直接建立变量名更糟糕。这没有意义。
  • @anonn023432 不,将它们放入一个数组中,然后得到 PROP[0] ...

标签: javascript reactjs object hashmap


【解决方案1】:

它基本上是:

Object.keys(PROP_ONE)

 Object.keys("PROP_ONE")

虽然第一个是解析为对象的标识符,但第二个只是一个字符串。不多。您可以使用括号表示法访问它,因为它是窗口的一部分:

Object.keys(window["PROP_ONE"]) 

免责声明:

总而言之,如果真的有必要,应该只使用动态键。它们使您的代码变得更慢且错误更多。

【讨论】:

    猜你喜欢
    • 2022-06-22
    • 2019-07-12
    • 1970-01-01
    • 2013-07-02
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    相关资源
    最近更新 更多