将对象推送到对象数组导致整个数组发生意外更改[重复]
Posted
技术标签:
【中文标题】将对象推送到对象数组导致整个数组发生意外更改[重复]【英文标题】:pushing object to array of object resulting unexpected change to whole array [duplicate] 【发布时间】:2021-10-25 09:49:53 【问题描述】:让我们跳到问题上
// lets say i have a simple array of objects inside an object
const abc =
a: 1,
b: [aa: 1, bb: 2, aa: 2, bb: 2]
// then I want to update the array with push a new object
abc.b.push(aa: 3, bb: 3)
但为什么会这样
a: 1,
b: [[Object], [Object], [Object]]
我期待结果
a: 1,
b: [aa: 1, bb: 2, aa: 2, bb: 2, aa: 3, bb: 3]
我用nodejs得到的结果console.log(abc)
【问题讨论】:
正常,就是console.log问题。console.log(JSON.stringify(abc))
是解决方案
数组没有意外的变化。只是控制台选择显示数据的方式有所不同。
改用console.debug()
也可以在nodejs中使用console.debug(abc)
或console.dir(abc)
获取结果
【参考方案1】:
const abc =
a: 1,
b: [aa: 1, bb: 2, aa: 2, bb: 2]
// then I want to update the array with push a new object
abc.b.push(aa: 3, bb: 3)
console.log(JSON.stringify(abc))
【讨论】:
也可以使用console.debug(abc)
或console.dir(abc)
在nodejs中获取结果。以上是关于将对象推送到对象数组导致整个数组发生意外更改[重复]的主要内容,如果未能解决你的问题,请参考以下文章