This commit is contained in:
马云海 mayunhai () 2019-03-01 09:47:28 +08:00
parent 344e95c57a
commit 90d9890b06
1 changed files with 8 additions and 1 deletions

View File

@ -276,7 +276,14 @@ export function deepClone(source) {
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'shallowClone')
}
const targetObj = source.constructor === Array ? Object.assign([], source) : Object.assign({}, source)
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
}
})
return targetObj
}