在Javascript中使用键值作为键值对中的键

Eug*_*ene 0 javascript keyvaluepair

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

我想做以下事情:

var gizmos = {gizmo1: "G1"};
var things = {gizmos.gizmo1: "T1"};
Run Code Online (Sandbox Code Playgroud)

所以事情基本上等于:

var things = {"G1": "T1"};
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 7

像这样:

var gizmos = {gizmo1: "G1"};
var things = {};
things[gizmos.gizmo1] = "T1";
Run Code Online (Sandbox Code Playgroud)

作为对象初始化器(也就是对象"文字")的一部分,没有办法做到这一点,之后你必须这样做.

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


附注:如果在执行该行后更改 ,则不会更改该属性的名称.有没有持久的联系,因为该的使用期间确定属性名行(就像它在任何其他表达式).gizmos.gizmo1things[gizmos.gizmo1] = "T1";thingsgizmos.gizmo1things[gizmos.gizmo1] = "T1";