0

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

我想做以下事情:

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

所以事情基本上等于:

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

3 回答 3

7

像这样:

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

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

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


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

于 2012-12-31T15:15:56.007 回答
0

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

于 2012-12-31T15:17:03.917 回答
0
var gizmos = {gizmo1: "G1"};
var things = {};
things[gizmos.gizmo1]="T1";
于 2012-12-31T15:15:58.113 回答