当前位置: 首页 > 知识库问答 >
问题:

将对象推送到对象的数组,导致整个数组发生意外更改[duplicate]

龙安阳
2023-03-14

让我们开始讨论这个问题

// 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}]
}

我用nodejsconsole.log(abc)得到的结果

共有1个答案

董高洁
2023-03-14
js lang-js prettyprint-override">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))
 类似资料:
  • 问题内容: 我在Javascript中有一个功能: data参数是一个JSON对象。 但是每次我单击按钮时,它都会覆盖本地存储中的数据。 有人知道怎么做这个吗? 问题答案: 您需要采取一些步骤将这些信息正确存储在localStorage中。但是,在开始编写代码之前,请注意,localStorage(当前) 不能 保存除字符串以外的任何数据类型。您将需要序列化阵列进行存储,然后将其解析回去以对其进行

  • 空心我有一些问题和小问题我有3个输入字段我需要在单击时从中获取值将它们分配给对象并将该对象推入数组有人可以帮助我说在哪里查找信息我正在MDN上搜索,但我找不到正确的主题,示例1)将值输入到对象,然后将该对象推入数组 使用html和javascript链接到JSFIDLE

  • 我有这样的数据响应 然后我想把颜色推到物品里面 预期:每个索引项有三(3)个变量 我尝试使用push和concat,但出现错误“无法读取未定义的属性“数据” 这是我的密码

  • 几个小时以来,我一直试图将所有坐标数组放入一个对象中,但似乎无法找到如何使用angular查找和推入坐标数组。 我以为我可以用angular.for来完成这个,但是我不能让它工作。我试图找到答案和教程,但似乎没有什么适合我的需要在这里。我可能没有完全理解。 以下是我的JSON: 这是我的最新尝试: 任何关于如何实现这一点的教程参考或示例(甚至更好),都将不胜感激! 我正在寻找以下结果:

  • 问题内容: 我要复制到 是一组对象。我正在根据某些条件进行修改。问题是,如果我修改,它也会被修改。 问题答案: 显然,您对声明的功能有一些误解。 在JavaScript中,对象是通过引用传递和分配的(更准确地说是引用的值),所以和都是对同一对象的引用。 这是一个简化的插图,可以帮助您可视化正在发生的事情 如您在分配后所看到的,两个引用都指向同一对象。 如果需要修改一个而不是另一个,则需要 创建一个

  • 我正在尝试将我的对象[]数组映射并过滤到int[]数组。如果对象是int,效果很好,但如果不是int,则抛出强制转换异常。我想知道我是否可以在lambda表达式中附加一个try/catch?这是我的代码: 或者更好的方法是试着抓住整个街区?