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

时间:2012-12-31 15:14:16

标签: javascript keyvaluepair

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

我想做以下事情:

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

所以事情基本上等于:

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

3 个答案:

答案 0 :(得分:7)

像这样:

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

作为对象初始值设定项(也就是对象“文字”)的一部分,没有办法做到这一点,你必须在之后进行。

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


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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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