在节点js中使用动态键定义对象(javascript)

时间:2018-06-20 18:05:55

标签: javascript node.js oop object-object-mapping

我需要这样做:

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 个答案:

答案 0 :(得分:0)

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

尝试以下操作:

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

供参考:Reference

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

尝试

obj.obj1[key] = 5;

console.log(obj.obj1.obj11);

对象表示法语法不直接支持将变量用作键,但是Java-script字典支持。

要使用对象表示法语法评估变量,请使用类似方括号

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

console.log(obj.obj1.obj11);

答案 3 :(得分:-1)

是的,您可以这样做:

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

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