Javascript 在对象内部动态创建对象

dra*_*rys 0 javascript reactjs

我有一个空对象,想在对象内部动态创建一个对象。

const obj = {}
obj["test1"]["test1.1"] = x //initialize to some variable
Run Code Online (Sandbox Code Playgroud)

我收到错误

Uncaught TypeError: Cannot set property 'test1.1' of undefined
Run Code Online (Sandbox Code Playgroud)

我希望输出是这样的

obj = {
   test1: {
       test1.1: x //some variable
   }
}
Run Code Online (Sandbox Code Playgroud)

Hao*_* Wu 6

动态如果你的意思是属性名称不确定,你可以使用括号插入动态变量名称:

const arg1 = 'test1';
const arg2 = 'test1.1';
const x = 42;

// assign both variable names dynamically
const obj = { [arg1]: { [arg2]: x } };
console.log(obj);
Run Code Online (Sandbox Code Playgroud)