node.js:添加到Object的键值对,但在打印Object时不显示



我有一个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中语句的异步执行有关,其中console.log(obj)obj.key5 = val5赋值之前执行?

最新更新