【问题标题】:Use key's value as key in key-value pair in Javascript在 Javascript 中使用键的值作为键值对中的键
【发布时间】:2012-12-31 23:17:03
【问题描述】:

如何在javascript中使用一个键值对的值作为不同键值对中的键?

我想做以下事情:

var gizmos = {gizmo1: "G1"};
var things = {gizmos.gizmo1: "T1"};

所以事情本质上是相等的:

var things = {"G1": "T1"};

【问题讨论】:

  • 哇,这是一组快速的答案。

标签: javascript keyvaluepair


【解决方案1】:

像这样:

var gizmos = {gizmo1: "G1"};
var things = {};
things[gizmos.gizmo1] = "T1";

没有办法把它作为对象初始化器(又名对象“文字”)的一部分,你必须在之后再做。

它起作用的原因是,在 JavaScript 中,您可以通过两种方式访问​​(获取或设置)对象的属性:使用点分符号和 文字,例如foo.bar,或使用括号表示法和 string,例如foo["bar"]。在后一种情况下,字符串不必是字符串文字,它可以是任何表达式的结果(在这种情况下,包括对另一个对象的属性查找)。


旁注:如果您在执行things[gizmos.gizmo1] = "T1"; 行之后更改 gizmos.gizmo1,它不会更改things 上的属性名称。没有持久的链接,因为gizmos.gizmo1 用于确定things[gizmos.gizmo1] = "T1"; 行期间的属性名称(就像在任何其他表达式中一样)。

【讨论】:

    【解决方案2】:
    var gizmos = {gizmo1: "G1"};
    var things = {};
    things[gizmos.gizmo1]="T1";
    

    【讨论】:

      【解决方案3】:

      要获取对象上给定键的值,请使用 object["key"]object.key

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-17
        • 1970-01-01
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多