连接两个对象数组,并从JavaScript中的属性中删除重复的数据?

为此,请map()与一起使用find()。以下是代码-

示例

var details1 =
[
   {
      productDetails:
      {
         isSold: true,
         productId:101
      }
   },
   {
      productDetails:
      {
         isSold: true,
         productId:103
      }
   }
]
var details2 =
[
   {
      productDetails:
      {
         isSold: false,
         productId:101
      }
   }
]
var details3 = details1.map(details1Object=>{
   var newObject= details2.find(obj=>obj.productDetails.productId
   === details1Object.productDetails.productId)
   return newObject? newObject : details1Object
})
console.log(details3)

要运行上述程序,您需要使用以下命令-

node fileName.js.

在这里,我的文件名为demo183.js。

输出结果

这将产生以下输出-

PS C:\Users\Amit\javascript-code> node demo183.js
[
   { productDetails: { isSold: false, productId: 101 } },
   { productDetails: { isSold: true, productId: 103 } }
]