如何更新一个Javascript对象数组而不更新另一个[重复]

2024-03-11

我创建了一个包含一些值的对象数组。然后我创建了另一个对象数组并用第一个对象数组对其进行初始化。然后我在第二个数组中推送一个值,控制台记录了两个数组。两个数组具有相同的值。为什么会发生这种情况?我们怎样才能阻止这种情况?

My Code:

var a = { "filters": [] }; // 1st object array
var keyValue = {};
// pushed 2 values in "a" array
keyValue["abc"] = "123";
a.filters.push(keyValue);
keyValue["def"] = "456";
a.filters.push(keyValue);
var b = a; // created another object array & initialized it with "a" array
var keyValue1 = {};
// pushed 1 value in "b" array
keyValue1["ghi"] = "789";
b.filters.push(keyValue1);
console.log(a);
console.log(b);

这将为 a 和 b 打印相同的值。
如何将值推入第二个数组而不更新第一个数组?


作业如var b = afor a 对象创建一个对象“b”,该对象通常引用(就像指针一样)“a”指向的相同位置。你可能会发现这个link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var有帮助。

但是您可以使用以下命令创建/克隆一个新数组slice方法。var b = a.slice()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更新一个Javascript对象数组而不更新另一个[重复] 的相关文章

随机推荐

  • 在 spring-boot 中将 hashmap 转换为 json 字符串

    我正在创建一个 spring boot 应用程序 我希望能够将 hashmap 的全部内容作为 json 字符串返回 我怎么做 我的哈希图如下所示 private static final Map
  • Repa 中的转置和累积和性能不佳

    我开发了一个累积和函数 在 Haskell 库 Repa 中定义如下 但是 当将此函数与转置操作结合使用时 我遇到了问题 以下所有 3 个操作只需不到一秒 cumsum cumsum cumsum x transpose transpose
  • 关于 JPA 2.0 Criteria 的一些基本问题

    我今天发现了 JPA 2 0 Criteria API 并想学习它 只是浏览了一些示例并尝试动手操作 我有一个带有列的餐桌水果 id name color size taste 常规的东西 EntityManagerFactory emf
  • Python:使用渐进数字重命名列表中的重复项,而不对列表进行排序

    给定一个这样的列表 mylist name state name city name zip zip 我想通过附加数字来重命名重复项以获得以下结果 mylist name1 state name2 city name3 zip1 zip2
  • Angular/Ionic 和异步 SQLite - 确保数据工厂在返回前初始化

    我正在使用 Ionic 编写 PhoneGap Cordova 应用程序 并使用 SQLite 与 ngCordova 进行持久存储 该应用程序的核心是从 SQLite 数据库检索的项目的滚动列表 列表控制器 js controller L
  • 以 maner 设置 JTextField 宽度以换行给定文本

    我有一个不可编辑且已禁用的JtextField我将在其中放一个String请求数据库后获得 我希望这个JtextField包裹我所有的字符串 我看到了setColumn and setSize 方法 但我首先不知道我的String leng
  • XMLHttpRequest 将变量传递给 php 脚本

    我正在尝试使用 XMLHttpRequest 将变量传递给 php 脚本 然后让 php 回显它 我不明白为什么它不起作用 有人可以帮助我吗 这是 JavaScript
  • 为什么清除中断标志会导致C中的分段错误?

    我正在学习一些有关汇编和 C 的基础知识 出于学习目的 我决定编写一个禁用中断的简单程序 当用户想要在控制台中输入某些内容时 他 她不能 include
  • 以编程方式运行 Spring Batch Job?

    我有一个 Spring Batch 应用程序 我从以下开始CommandLineJobRunner 但现在我必须将此应用程序嵌入到我们的企业环境中 我们有一个自己的启动器应用程序 我必须使用它 对于这个启动器应用程序 我需要一个带有 mai
  • RenderRepaintBoundary 到图像而不将 Widget 添加到屏幕

    我正在尝试从小部件导出图像 而不将此小部件添加到屏幕 这可能吗 我已经通过添加到可滚动容器成功导出它 现在我想渲染它而不将其添加到屏幕并将其保存到临时文件以供共享 我认为那里应该有一个 paint 调用 但无法弄清楚到底在哪里 这是我的代码
  • Swift 算术和比较运算符重载的数字列表?

    文档中是否有一个地方或者我可以在 Xcode 6 中动态查找的地方显示了数字的所有定义的运算符重载 例如二进制算术和比较运算符 Swift 支持所有数字类型的四种标准算术运算符 加法 减法 乘法 分配 Swift 支持所有标准 C 比较运算
  • @Security 注释的自定义消息

    我正在尝试使用 Security我的路线的注释 像这样 return Response Route action Security has role ROLE USER Template public function someAction
  • CGBitmapContextCreate:无效数据字节/行

    我正在尝试在将图像显示回用户之前调整图像大小 我收到的错误是 Error CGBitmapContextCreate invalid data bytes row 对于 8 个整数位 组件 3 个组件 kCGImageAlphaNoneSk
  • 如何将数据从 Flask 发送到 JavaScript?

    你好 我是新人 正在用 Flask 和 Javascript 构建一个应用程序 我在从 Flask do JavaScript 发送数据时遇到问题 我在routes py中有代码 app route mapaa methods GET PO
  • 导入的node_modules css在webpack中不起作用

    我的一个组件中有一个外部 css 导入 import rc slider assets index css 然而 当使用 webpack 构建时 css 没有被注册 我尝试添加以波浪号为前缀的导入 import rc slider asse
  • 如何在同一个 global.asax 中托管 WCF REST 服务和 WCF 数据服务

    我有一个 WCF REST Web 服务 通过 global asax 中的服务路由托管 如下所示 protected override void RegisterRoutes System Web Routing RouteCollect
  • 强制 fputcsv 对 *所有* 字段使用封装

    当我使用fputcsv http php net fputcsv要向打开的文件句柄写入一行 PHP 会向它认为需要的任何列添加一个封闭字符 但会保留其他列而不包含封闭字符 例如 您最终可能会得到这样的行 11 Bob Jenkins 200
  • 为什么 Jenkins 在使用 MSBuild 时忽略 %PATH% 变量?

    我正在尝试使用 Jenkins 编译用 Delphi 创建的 MSBuild 项目 我已将 MSBuild 插件安装到 Jenkins 中并进行配置 我正在为我的构建作业选择特定配置 我已经在 J enkins 中设置了 Delphi 编译
  • MongoDB 架构设计 - 帖子投票

    假设我有一个网站 里面有很多文章 人们可以对他们喜欢的文章进行投票 我希望能够查询得到在一定时间内 最后一小时 最后一天 上周 按票数排序的得票最多的文章 与往常一样 MongoDB 有几种不同的方法来实现这一点 但我不确定哪一种是正确的
  • 如何更新一个Javascript对象数组而不更新另一个[重复]

    这个问题在这里已经有答案了 我创建了一个包含一些值的对象数组 然后我创建了另一个对象数组并用第一个对象数组对其进行初始化 然后我在第二个数组中推送一个值 控制台记录了两个数组 两个数组具有相同的值 为什么会发生这种情况 我们怎样才能阻止这种