考虑有两个对象数组的场景:
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中文网其他相关文章!