当前位置: 首页 > 面试题库 >

根据键合并两个对象数组

易衡
2023-03-14
问题内容

我有两个数组:

阵列1:

[
  { id: "abdc4051", date: "2017-01-24" }, 
  { id: "abdc4052", date: "2017-01-22" }
]

和数组2:

[
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
]

我需要基于合并这两个数组,id并获得此:

[
  { id: "abdc4051", date: "2017-01-24", name: "ab" },
  { id: "abdc4052", date: "2017-01-22", name: "abc" }
]

我如何在不迭代低谷的情况下做到这一点Object.keys


问题答案:

你可以这样-

let arr1 = [

    { id: "abdc4051", date: "2017-01-24" },

    { id: "abdc4052", date: "2017-01-22" }

];



let arr2 = [

    { id: "abdc4051", name: "ab" },

    { id: "abdc4052", name: "abc" }

];



let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));



console.log(arr3);

如果arr1arr2的顺序不同,请使用以下代码:

let arr1 = [

  { id: "abdc4051", date: "2017-01-24" },

  { id: "abdc4052", date: "2017-01-22" }

];



let arr2 = [

  { id: "abdc4051", name: "ab" },

  { id: "abdc4052", name: "abc" }

];



let merged = [];



for(let i=0; i<arr1.length; i++) {

  merged.push({

   ...arr1[i],

   ...(arr2.find((itmInner) => itmInner.id === arr1[i].id))}

  );

}



console.log(merged);

如果arr1arr2以相同的顺序使用

let arr1 = [

  { id: "abdc4051", date: "2017-01-24" },

  { id: "abdc4052", date: "2017-01-22" }

];



let arr2 = [

  { id: "abdc4051", name: "ab" },

  { id: "abdc4052", name: "abc" }

];



let merged = [];



for(let i=0; i<arr1.length; i++) {

  merged.push({

   ...arr1[i],

   ...arr2[i]

  });

}



console.log(merged);


 类似资料:
  • 问题内容: 我需要使用javascript根据键值合并两个json对象。 我有两个不同的变量g和c。 术语:所有值都需要合并。 我尝试了以下代码:但我合并在’c’变量中具有相同ID的内容。但是我需要合并比较“ g”和“ c”。 预期产量: 问题答案: 如果ID中不存在ID,您忘了推入第一个循环;如果ID中不存在该对象的一个​​或多个ID,您忘了循环遍历。

  • 我有两个数组: 阵列 1: 和阵列 2: 我需要根据合并这两个数组并得到这个: 不通过< code>Object.keys进行迭代,我如何做到这一点?

  • 我有两个哈希数组: 我想在< code>a2中找到其< code>ID和< code>name字段与< code>a1中条目的< code>ID和< code>name字段相匹配的散列(不考虑< code>email或任何其他进入< code>a2的项目),然后将< code>ORDER_NO的值合并到< code>a1散列中也就是说,以下列方式结束: 我也想忽略 a2 中存在的元素,但不忽略 a

  • 问题内容: 我可以使用通用的特定于Javascript / Coffeescript的习惯用法吗?主要出于好奇。 我有两个数组,一个数组由所需的键组成,另一个数组由所需的值组成,我想将其合并到一个对象中。 问题答案: var r = {}, i, keys = [‘one’, ‘two’, ‘three’], values = [‘a’, ‘b’, ‘c’];

  • 问题内容: 我有以下输入-2个json文件,一个是基础文件,第二个包含相同的属性,但值不同,我想合并这些对象。 例如: 第二个文件: 结果应该是这样的: 使用powershell可以做到吗? 问题答案: (请参见下面的更新) 结果: 您可能会考虑不覆盖左值: 在这种情况下,结果将是: 更新2019年11月16日 的参数已经被耗尽,分过和参数(遗憾的重大更改)。好消息是,对象合并的默认参数设置包含在

  • 问题内容: 尝试查看是否有任何JavaScript库功能可以合并两个json对象的特定键的值 使用$ .extend和$ .merge给出以下结果 我正在寻找的是 问题答案: 您想深入扩展