Node.js Nodejs对象-如何同时添加值和定义新属性?

Node.js Nodejs对象-如何同时添加值和定义新属性?,node.js,arrays,javascript-objects,Node.js,Arrays,Javascript Objects,假设我有一个对象: var o = { i1: { p1: '1/1', p2: '1/2' } }; 我可以这样描述它的要素: console.log('i1 p2:',o['i1']['p2']); 我可以设置新的“垂直”属性: o['i1']['p3']='1/3'; console.table(o); ┌─────────┬───────┬───────┬───────┐ │ (index) │ p1 │ p2 │ p3 │ ├──────

假设我有一个对象:

var o = {
  i1: {
    p1: '1/1',
    p2: '1/2'
  }
};
我可以这样描述它的要素:

console.log('i1 p2:',o['i1']['p2']);
我可以设置新的“垂直”属性:

o['i1']['p3']='1/3';
console.table(o);

┌─────────┬───────┬───────┬───────┐
│ (index) │  p1   │  p2   │  p3   │
├─────────┼───────┼───────┼───────┤
│   i1    │ '1/1' │ '1/2' │ '1/3' │
└─────────┴───────┴───────┴───────┘
但是,我不能以相同的方式添加另一个索引(“水平”属性):

o['i2']['p3']='2/3';
导致错误:
TypeError:无法设置未定义的属性“p3”

因为尚未定义“i2”属性。 有什么语法可以解决这个问题吗? 非常感谢。

将对象分配给
i2
属性,其中对象具有
p3
属性

o.i2 = { p3: '2/3' }

干杯!现在我觉得自己很愚蠢