You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
444 B
22 lines
444 B
2 years ago
|
type RecordType = Record<string, any>;
|
||
|
|
||
|
function extendsObject<T extends RecordType>(...list: T[]) {
|
||
|
const result: RecordType = { ...list[0] };
|
||
|
|
||
|
for (let i = 1; i < list.length; i++) {
|
||
|
const obj = list[i];
|
||
|
if (obj) {
|
||
|
Object.keys(obj).forEach((key) => {
|
||
|
const val = obj[key];
|
||
|
if (val !== undefined) {
|
||
|
result[key] = val;
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
export default extendsObject;
|