深拷贝手写

发布时间 2023-05-23 21:02:31作者: 学习让我充实
        let arr = ["张三", "李四", "王五",[1,2,3,4,5]];

        function deepCopy(obj1) {
            let obj2 = Array.isArray(obj1) ? [] : {};
            for (let key in obj1) {
        // hasOwnProperty : 自身属性 会返还 true ,否则会返还false
if(obj1.hasOwnProperty(key)){ if(typeof obj1[key] === 'object'){ obj2[key] = deepCopy(obj1[key]); }else{ obj2[key] = obj1[key]; } } } return obj2; } let arr2 = deepCopy(arr); console.log(arr,arr2);