Вы можете объединить массивы и создать карту, проиндексированную по строкам ключ-значение, и получить значения карты:
const array1=[{title:"title",notes:[{body:"text"},{body:"text"},{body:"some other text"}]}]
const array2=[{title:"title",notes:[{body:"text"},{body:"text sfhhda"}]}]
const notesMap = [...array1[0].notes, ...array2[0].notes]
.reduce((a, obj) => (
a.set(JSON.stringify(obj), obj)
), new Map());
const output = [{
title: 'title',
notes: [...notesMap.values()]
}];
console.log(output);