如何在javascript中比较数组对象并返回唯一数组

如何在javascript中比较数组对象并返回唯一数组,javascript,arrays,Javascript,Arrays,我有两个阵列: 第一个阵列: generalInfo = [{"fName": "Suku", "lName": "Brown", "sex": "Male", "Id": "RY12S"}, {"fName": "Mary", "lName": "Sue", "sex": "Female", "Id": "UT72W"}] 第二个阵列: paymentInfo = [{"Id": "RY12S", "amount": "1000.00", "purpose": "rent", "date":

我有两个阵列:

第一个阵列:

generalInfo = [{"fName": "Suku", "lName": "Brown", "sex": "Male", "Id": "RY12S"}, {"fName": "Mary", "lName": "Sue", "sex": "Female", "Id": "UT72W"}]
第二个阵列:

paymentInfo = [{"Id": "RY12S", "amount": "1000.00", "purpose": "rent", "date": "2017-17-07"}, {"Id": "UT72W", "amount": "5000.00", "purpose": "renovation", "date": "2017-15-07"}]
现在,我希望能够比较这两个数组的Id字段,并返回它们的唯一信息

至少第三个应该是这样的:

specificInfo = [{"Id": "RY12S","fName": "Suku", "lName": "Brown", "amount": "1000.00", "purpose": "rent"}, {"Id": "UT72W","fName": "Mary", "lName": "Sue", "amount": "5000.00", "purpose": "renovation"}]
有什么简单的方法可以实现这一点吗?

ES6解决方案,包括:

var generalInfo=[{“fName”:“Suku”,“lName”:“Brown”,“sex”:“Male”,“Id”:“RY12S”},{“fName”:“Mary”,“lName”:“Sue”,“sex”:“Female”,“Id”:“UT72W”}];
var paymentInfo=[{“Id”:“RY12S”,“金额”:“1000.00”,“目的”:“租金”,“日期”:“2017-17-07”},{“Id”:“UT72W”,“金额”:“5000.00”,“目的”:“翻新”,“日期”:“2017-15-07”}];
var uniqueInfo=generalInfo.map((generalItem)=>{
var paymentItem=paymentInfo.find((item)=>item.Id==generalItem.Id);
返回{
Id:generalItem.Id,
fName:generalItem.fName,
lName:generalItem.lName,
金额:paymentItem.amount,
用途:paymentItem.purpose
};
});

控制台日志(uniqueInfo)你试过什么?希望您至少尝试一下,然后当/如果您有问题,我们很乐意提供帮助。这可能是重复的问题。您可以检查以下内容以获得答案:可能的副本: