Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js:已将键值对添加到对象,但在打印对象时未显示_Javascript_Node.js_Object - Fatal编程技术网

Javascript node.js:已将键值对添加到对象,但在打印对象时未显示

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

我有一个javascript对象
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?更新: