const arr = [1,2,3,4];
const obj = [{id:3},{id:5},{id:6}];
const b = obj.map(o => o.id); // получили [3, 5, 6]
const i = b.filter(el => !arr.includes(el));
const o = arr.filter(el => !b.includes(el));
console.log(`из arr удалено ${o.join(',')} и добавлено ${i.join(',')}`);
// из arr удалено 1,2,4 и добавлено 5,6
Или более абстрактно:
const diff = (a,b) => ({
i: b.filter(x => !a.includes(x)), // in
o: a.filter(x => !b.includes(x)), // out
});
const data = diff(arr, obj.map(el => el.id));
console.log(`из arr удалено ${data.o.join(',')} и добавлено ${data.i.join(',')}`);