18 lines
567 B
TypeScript
18 lines
567 B
TypeScript
/**
|
||
* 将值复制到目标对象,且以目标对象属性为准,例:target: {a:1} source:{a:2,b:3} 结果为:{a:2}
|
||
* @param target 目标对象
|
||
* @param source 源对象
|
||
*/
|
||
export const copyValueToTarget = (target: any, source: any) => {
|
||
const newObj = Object.assign({}, target, source);
|
||
// 删除多余属性
|
||
Object.keys(newObj).forEach((key) => {
|
||
// 如果不是target中的属性则删除
|
||
if (Object.keys(target).indexOf(key) === -1) {
|
||
delete newObj[key];
|
||
}
|
||
});
|
||
// 更新目标对象值
|
||
Object.assign(target, newObj);
|
||
};
|