JavaScript——深拷贝

         name:'小明',
                age:18,
                say:{
                    one:'11111'
                },
                arr:[1,2,3]
            }
            // 判断是否是对象类型(包含arr和obj),是的话递归该函数
            function copy(options){
                // instanceof可判断引用对象的类型,typeof 判断数组和对象都返回object
                let res = options instanceof Array?[]:{};
                for(let [key,value] of Object.entries(options)){
                    res[key] = typeof value == 'object'?copy(value):value
                }
                return res
            }
            let obj1 = copy(obj)
            obj.arr.push(4)
            console.log('obj',obj);
            console.log('obj1',obj1);

 

posted @ 2020-10-29 16:08  小昱同学  阅读(51)  评论(0)    收藏  举报