Join Two Arrays by ID
Medium
Solution
type ValueWithID = unknown & {
id: number;
};
export function join(arr1: ValueWithID[], arr2: ValueWithID[]): ValueWithID[] {
const result: Record<number, ValueWithID> = {};
arr1.forEach((value) => {
result[value.id] = value;
});
arr2.forEach((value) => {
result[value.id] = {
...(result[value.id] || {}),
...value,
};
});
return Object.values(result);
}