javascript - 将不相同的对象添加到数组中

标签 javascript arrays object

我想循环两个数组,比较它们并创建新数组,该数组将包含两个数组中的对象,但忽略相同的数组: 下面的代码解释了最终结果应该是什么样子。 谢谢。

Array1 = [
    {"column": "brand_name1"},
    {"column": "brand_name2"}
    ]

    Array2 = [
    {"column": "brand_name1"},
    {"column": "brand_name3"}
    ]

    And result should be something like

    Array3 = [
    {"column": "brand_name1"},
    {"column": "brand_name2"},
    {"column": "brand_name3"}
    ]

最佳答案

这是一个 O(n) 解决方案,用于从两个对象数组中获取唯一数组。

var Array1 = [{
    "column": "brand_name1"
  },
  {
    "column": "brand_name2"
  }
]

var Array2 = [{
    "column": "brand_name1"
  },
  {
    "column": "brand_name3"
  }
]

var newArray = [...Array1, ...Array2];
var tempObj = {};
newArray.forEach((item) => {
  var value = Object.values(item)[0];
  if(!tempObj[value]){
    tempObj[value] = item;
  }
});
var Array3 = Object.values(tempObj);
console.log(Array3);

关于javascript - 将不相同的对象添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52151182/

相关文章:

javascript - 如何在 javascript/jQuery 中使用 Pop Up 回显复选框文本

c# - 如果缓冲区太小,是否可以防止异常?

javascript - jquery 排除数组元素

python - 当值为对象时如何打印字典(Python)

javascript - 将 Javascript 对象编码为 Json 字符串

java - 将 null 传递给重载方法

javascript - 需要延迟加载 iframe

javascript - 侧边导航 Bootstrap

javascript - 绑定(bind)智能表值并编辑行

javascript - 根据另一个数组值向数组添加项目