array1 = [
   {
     _id: new ObjectId("639979460a52134240478a9b"),
     taggedFileId: '6399798f0a52134240478abf'
   },
   {
     _id: new ObjectId("639b576c2743a77ea2812f07"),
     taggedFileId: '639988250a52134240478b07'
   }
 ]
 
 
 array2 = [
  {
    fileIds: new ObjectId("639979460a52134240478a9b"),
    rateResult: 'none',
    taggedFileId: '6399798f0a52134240478abf',
    _id: new ObjectId("639c8531dcd57c7d559e6211")
  },
  {
    fileIds: new ObjectId("639b576c2743a77ea2812f07"),
    rateResult: 'none',
    taggedFileId: '639988250a52134240478b07',
    _id: new ObjectId("639c8531dcd57c7d559e6212")
  }
]

I want to check in the array1's taggedFileId with the array2's taggedFileId and if found then insert a array2's rateResult in array1's found index.

The result should be as follows

`

array1 = [
   {
     _id: new ObjectId("639979460a52134240478a9b"),
     taggedFileId: '6399798f0a52134240478abf',
     rateResult: 'none',
   },
   {
     _id: new ObjectId("639b576c2743a77ea2812f07"),
     taggedFileId: '639988250a52134240478b07'
     rateResult: 'none',
   }
 ]

`

2

There are 2 best solutions below

0
Suhail On BEST ANSWER

use this code:

array2.forEach(item => {
    const foundIndex = array1.findIndex(i => i.taggedFileId === item.taggedFileId);
    if(foundIndex >= 0){
       array1[foundIndex].rateResult =  item.rateResult;
    }
})
0
Spectric On

You can use Array.find to find the item in array2 with the same rateResult property value:

function ObjectId(){}

array1=[{_id:new ObjectId("639979460a52134240478a9b"),taggedFileId:"6399798f0a52134240478abf"},{_id:new ObjectId("639b576c2743a77ea2812f07"),taggedFileId:"639988250a52134240478b07"}],array2=[{fileIds:new ObjectId("639979460a52134240478a9b"),rateResult:"none",taggedFileId:"6399798f0a52134240478abf",_id:new ObjectId("639c8531dcd57c7d559e6211")},{fileIds:new ObjectId("639b576c2743a77ea2812f07"),rateResult:"none",taggedFileId:"639988250a52134240478b07",_id:new ObjectId("639c8531dcd57c7d559e6212")}];

array1.forEach(({ taggedFileId }, i) => {
  const itm = array2.find(e => e.taggedFileId == taggedFileId)
  if(itm) array1[i].rateResult = itm.rateResult
})

console.log(array1)