11 lines
345 B
TypeScript
11 lines
345 B
TypeScript
/**
|
||
* 合并两个对象数组并去重(基于 id,后面的覆盖前面的)
|
||
*/
|
||
export function mergeObjectsAndDedupe<T extends { id?: string }>(arr1: T[], arr2: T[]): T[] {
|
||
const map = new Map(arr1.map((item) => [item.id, item]));
|
||
arr2.forEach((item) => {
|
||
if (item.id) map.set(item.id, item);
|
||
});
|
||
return [...map.values()];
|
||
}
|