1. Recursion
function deepcopy(source) {
if (!source) {
return source
}
const sourceCopy = source instanceof Array ? [] : {
}
for (const item in source) {
sourceCopy[item] =
typeof source[item] === 'object' ? deepcopy(source[item]) : source[item]
}
return sourceCopy
}
2.JSON
const sourceCopy= JSON.parse(JSON.stringify(source))