0

我需要这样做:

let obj = {}
obj.obj1 =  {'obj11':5}
console.log(obj.obj1.obj11)

//5

但我需要动态定义最后一个对象的最后一个键,例如:

let obj = {}
key = 'obj11'
obj.obj1 =  { key :5}
console.log(obj.obj1.obj11)
// undefined
4

4 回答 4

0

要在 javascript 对象中定义计算属性,请使用[].

尝试以下操作:

let obj = {}
key = 'obj11'
obj.obj1 =  { [key] :5}
console.log(obj.obj1.obj11)

供参考:参考

于 2018-06-20T18:08:53.020 回答
0

您必须为此使用括号表示法

let obj = {}
key = 'obj11'
obj.obj1 =  { [key] :5}
console.log(obj.obj1.obj11)

于 2018-06-20T18:09:31.613 回答
0

尝试

obj.obj1[key] = 5;

console.log(obj.obj1.obj11);

对象符号语法不支持直接将变量作为键,但 java-script 字典支持。

要在对象表示法语法中计算变量,请使用括号,如下所示

obj.obj1 = {[key]: 5};

console.log(obj.obj1.obj11);
于 2018-06-20T18:09:49.250 回答
-1

是的,你可以这样做:

console.log(obj.obj1[key]);

JavaScript 中的每个对象基本上都是一个字典,因此您可以通过字典语法访问它。

于 2018-06-20T18:07:50.813 回答