记一个深度克隆方法

95 阅读1分钟
// 比JSON.parse方更快
const deepClone = function (obj) {
    if (Array.isArray(obj)){
        return obj.map(deepClone)
    } else if (obj && typeof obj === 'object') {
        let cloned = {}
        let keys = Object.keys(obj)
        for (let i = 0; i < keys.length; i++){
            let key = keys[i]
            cloned[key] = deepClone(obj[key])
        }	
        return cloned
    } else {
        return obj
    }
}