我需要这样做:
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
我需要这样做:
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
要在 javascript 对象中定义计算属性,请使用[]
.
尝试以下操作:
let obj = {}
key = 'obj11'
obj.obj1 = { [key] :5}
console.log(obj.obj1.obj11)
供参考:参考
您必须为此使用括号表示法
let obj = {}
key = 'obj11'
obj.obj1 = { [key] :5}
console.log(obj.obj1.obj11)
尝试
obj.obj1[key] = 5;
console.log(obj.obj1.obj11);
对象符号语法不支持直接将变量作为键,但 java-script 字典支持。
要在对象表示法语法中计算变量,请使用括号,如下所示
obj.obj1 = {[key]: 5};
console.log(obj.obj1.obj11);
是的,你可以这样做:
console.log(obj.obj1[key]);
JavaScript 中的每个对象基本上都是一个字典,因此您可以通过字典语法访问它。