【问题标题】:Use value of variable as object index使用变量的值作为对象索引
【发布时间】:2011-03-21 19:19:24
【问题描述】:

我想将变量的值用作对象的“索引”,即对象内部值的“索引”。 不幸的是,这段代码不会运行。


            animatedObjects = {
                userPosition.uid: {
                    "uid": userPosition.uid,
                    "x": 30,
                    "y": 31
                }
            }

哪里出错了?

【问题讨论】:

  • 您是否收到错误消息?
  • 您能否发布更多代码以及变量包含的值?第二个例子应该可以工作。

标签: javascript arrays object indexing


【解决方案1】:

userPosition.uid 可能无法正常工作。您还缺少一个右大括号。

这是一个显示该概念有效的最小示例。如果你有 userPosition.uid 工作,你的例子很好。检查你可以只输出userPosition.uid

a = {}
b = {c: 3}
a[b.c] = 5
a  // now equal to {3: 5}

【讨论】:

  • 确实,我一定是对 userPosition.uid 做错了,因为该方法现在确实有效。
【解决方案2】:
animatedObjects = {
    userPosition.uid: { // pos 1
    "uid": userPosition.uid, // pos2
          "x": 30,
          "y": 31
     }
}

这行不通。首先,在 pos 1 中,您可能的意思是

animatedObjects = {
    userPosition:{
        uid : 
    }
}

否则,您将创建 animatedObjects['userPosition.uid'] 而不是 animatedObjects.userPosition.uid

其次,在 pos 2 中,您尝试使用刚刚创建的对象初始化变量。这是行不通的,因为没有参考通过。 (普通对象中没有this上下文,只能在创建时通过引用传递,在创建过程中不能)。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多