合并角度为6的两个对象数组 [英] Merging Two Array of Objects in angular 6

查看:94
本文介绍了合并角度为6的两个对象数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个类似这样的数组.

I have two arrays something like this.

array1 = [{name:'arjun', place:'mysore'},{name:'kanka', place:'bangalore'}];
array2 = [{name: 'arjun', degree:'BE'},{name:'kanka', degree:'MCA'}]

结果应该是这样的.

array3 = [{name: 'arjun', place:'mysore', degree:'BE'}, {name:'kanka',place:'bangalore',degree:'MCA'}];

上面的结果数组现在没有重复的值.有人可以帮忙吗?

The above result Array doesn't have duplicate values now. Can anyone help please?

推荐答案

我认为您可以使用

I think you can use array#reduce to do something like this perhaps:

array1 = [{name:'arjun', place:'mysore'},{name:'kanka', place:'bangalore'}];
array2 = [{name: 'arjun', degree:'BE'},{name:'kanka', degree:'MCA'}]

var resultArray = array1.reduce((arr, e) => {
  arr.push(Object.assign({}, e, array2.find(a => a.name == e.name)))
  return arr;
}, [])


console.log(resultArray);

注意:如果这些数组的长度不同,它也将起作用.

NOTE: It will also work if those arrays are of different length.

这篇关于合并角度为6的两个对象数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆