Javascript node.js:已将键值对添加到对象,但在打印对象时未显示
我有一个javascript对象Javascript node.js:已将键值对添加到对象,但在打印对象时未显示,javascript,node.js,object,Javascript,Node.js,Object,我有一个javascript对象obj,其中包含以下字段: { key1: val1, key2: val2, key3: [{subkey1: subval1, subkey2: subval2 }, {subkey3: subval3, subkey4: subval4 }], key4: val4 } 现在,如果我向这个对象添加一个键值对 obj.key5 = val5; 并打印obj对象(通过consol
obj
,其中包含以下字段:
{ key1: val1,
key2: val2,
key3:
[{subkey1: subval1,
subkey2: subval2 },
{subkey3: subval3,
subkey4: subval4 }],
key4: val4
}
现在,如果我向这个对象添加一个键值对
obj.key5 = val5;
并打印obj
对象(通过console.log(obj)
),它不会显示key5:val5
对
但是,执行console.log(obj.key5)
会输出val5
,因此会添加键值对
为什么它不显示在整个对象上
我甚至尝试创建一个重复对象并将key5
指定给新对象,但其行为与原始对象类似
我尝试使用Object.assign()
得到与上面相同的结果
我需要将obj
对象作为参数传递给另一个API,即使obj.key5
存在,作为参数传递时,API也不会读取'key5'
谢谢。在打印对象(即console.log(obj)
)时,它不会显示{key5:val5}
对
但是如果我执行console.log(obj.key5)
,它确实会显示val5
也许这与node.js中语句的异步执行有关,在node.js中,
console.log(obj)
是在obj.key5=val5
赋值之前执行的?是从mongo
返回的obj
?它是标准Javascript对象,是mongoose模型obj
是一个标准的Javascript对象。您能否发布完整的代码以及所有VAL?更新: