Объединение на основание совпадений свойств id объектов, используя Map и reduce, при пересечение одинаковых свойств, значение свойства будет заменено на значение из массива array2 (т.к. в тз не указано условие обработки одинаковых свойств):
const array1 = [{
'id': 3231,
'stage': 3,
'sort': 999,
}];
const array2 = [{
'id': 3231,
'status_client': 3,
'status_date': '2024-11-22 16:18:58',
'sort': 999,
}];
const map = new Map(array2.map((item) => [item.id, item]));
const reduced = array1.reduce((acc, item) => {
const _item = map.get(item.id);
_item
? acc.push({..._item, ...item})
: acc.push(item);
return acc;
}, []);
console.log(reduced);
// [
// {
// id: 3231,
// status_client: 3,
// status_date: '2024-11-22 16:18:58',
// sort: 999,
// stage: 3
// }
// ]