// 集合 interface ObjType { [key: string]: any; } /** * 多个对象合并相同的属性 * @param a 合并之后的对象 * @param b 把相同的属性的value 值赋值给a对象 */ export function mergeObj(a: ObjType, ...rest: ObjType[]): void { Object.keys(a).forEach((key) => { rest.forEach((param) => { if (Reflect.has(param, key)) { a[key] = param[key]; } }); }); } /** * 合并两个对象 * @param a * @param b * @param callBack */ export function mergeTwoObj(a: any, b: any, callBack?: Function) { const obj: ObjType = {}; Object.keys(a).forEach((el) => { const key = el.toLocaleLowerCase(); if (Reflect.has(b, key)) { obj[el] = b[key]; } else { console.warn(`为找到对应的key:${key}`); callBack && callBack(el) } }); Object.assign(a, obj); }