// ./src/helpers/util.ts
export function isPlainObject(val: any): val is Object {
return toString.call(val) === '[object Object]'
}
export function deepMerge (...objs: any[]): any {
const result = Object.create(null)
objs.forEach(obj => {
if (obj) {
Object.keys(obj).forEach(key => {
const val = obj[key]
if (isPlainObject(val)) {
if (isPlainObject(result[key])) {
result[key] = deepMerge(result[key], val)
} else {
result[key] = deepMerge(key)
}
} else {
result[key] = val
}
})
}
})
return result
}

本文详细探讨了在TypeScript中实现深拷贝和对象合并的方法,通过递归函数`deepMerge`,能够有效地合并多个对象,并保持原始对象不变。文章重点介绍了如何判断一个值是否为纯对象,以及如何递归地合并这些对象。
339

被折叠的 条评论
为什么被折叠?



