首页 >web前端 >js教程 >如何在不迭代对象键的情况下根据一个键高效地合并两个对象数组?

如何在不迭代对象键的情况下根据一个键高效地合并两个对象数组?

Barbara Streisand
Barbara Streisand原创
2024-12-29 02:43:14343浏览

How to Efficiently Merge Two Object Arrays Based on a Key Without Iterating Object Keys?

基于键合并对象数组而不迭代对象键

考虑有两个对象数组的场景:

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

const array2 = [
  { 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" }
]

为了在不使用对象键循环的情况下有效地实现这一点,我们可以利用 map() 函数:

const mergedArray = array1.map((item, index) => Object.assign({}, item, array2[index]));

此方法使用 Object.assign()方法将两个数组中相应对象的属性合并为一个新的组合对象,然后将其累积到 mergedArray 中。

生成的合并数组满足我们的要求要求基于共享 id 键组合属性,而不需要对对象键进行迭代循环。

以上是如何在不迭代对象键的情况下根据一个键高效地合并两个对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn