我需要这样做:
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
答案 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中的每个对象基本上都是字典,因此您可以通过字典语法访问它。