我有一个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
赋值之前执行?