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' }
干杯!现在我觉得自己很愚蠢