Javascript 将一个数组对象分配给另一个数组

标签 javascript arrays node.js

今天,我在 NodeJS 中编码时遇到了一个新问题,我从数据库中获取一条记录,该记录是一个对象,其中也包含一个对象数组,我已将对象数组分配给一个新变量,让我们调用 arr ,并将一个字符串插入 arr 中。而且由于一些奇怪的原因,我的原始记录也受到影响,不确定为什么会发生。我知道更改/重新分配对象会影响原始对象,但在这种情况下我不确定为什么会发生这种情况。

let original = {
  a: 1,
  branchIds: [ {
    _id: "abc",
    name: "abc"
   }]
};
let arr = original.branchIds;
arr.push("sa");
console.log(original);

JsFiddle 链接 http://jsfiddle.net/jdqmLzbv/4/

最佳答案

您正在使用相同的引用并实际上插入相同的数组。复制它,原始文件将不会更新

let original = {
  a: 1,
  branchIds: [ {
    _id: "abc",
    name: "abc"
   }]
};
let arr = original.branchIds.map(obj => ({...obj}));
arr.push("sa");
console.log(original);
console.log(arr);

关于Javascript 将一个数组对象分配给另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51408629/

相关文章:

C++ int main (int argc, char *argv[]) - argv 是 c 风格数组吗?

arrays - 字符串和数组的集差

javascript - 使用 webpack 观看目录

javascript - 使用javascript从给定单词向后匹配

javascript - 只有某些行有删除按钮?

java - 在 Java/Android 中填充双维字符串选项卡?

node.js - NodeJS fs.statSync(...).isDirectory() 为文件返回 true

javascript - 无法生成 0 到 10 之间的随机数

Javascript正则表达式验证1945年至当前年份之间的输入年份

javascript - 检查空/空/未定义的更好方法