perf[utils.js]: Add code comments to deepClone and remove redundant code
This commit is contained in:
parent
cbee7b6f20
commit
3f479664b6
1 changed files with 5 additions and 1 deletions
|
@ -246,6 +246,11 @@ export function debounce(func, wait, immediate) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is just a simple version of deep copy
|
||||
* Has a lot of edge cases bug
|
||||
* If you want to use a perfect deep copy, use lodash's _.cloneDeep
|
||||
*/
|
||||
export function deepClone(source) {
|
||||
if (!source && typeof source !== 'object') {
|
||||
throw new Error('error arguments', 'shallowClone')
|
||||
|
@ -253,7 +258,6 @@ export function deepClone(source) {
|
|||
const targetObj = source.constructor === Array ? [] : {}
|
||||
Object.keys(source).forEach((keys) => {
|
||||
if (source[keys] && typeof source[keys] === 'object') {
|
||||
targetObj[keys] = source[keys].constructor === Array ? [] : {}
|
||||
targetObj[keys] = deepClone(source[keys])
|
||||
} else {
|
||||
targetObj[keys] = source[keys]
|
||||
|
|
Loading…
Reference in a new issue