美文网首页
js 对象深度复制

js 对象深度复制

作者: xcyzjs | 来源:发表于2019-10-17 16:47 被阅读0次

js 对象复制是地址传递, 而不是值传递, 可以使用如下方法进行``深度复制`

       deepClone(origin) {
                let target = {}
                for (var prop in origin) {
                    if (origin.hasOwnProperty(prop)) {
                        if (typeof (origin[prop]) == 'object' && origin[prop]) {
                            target[prop] = Object.prototype.toString.call(prop) == '[object Array]' ? [] : {}
                            arguments.callee(origin[prop], target[prop])    //递归调用
                        } else {
                            target[prop] = origin[prop] //原始类型直接复制
                        }
                    }
                }
                return target
            }

相关文章

网友评论

      本文标题:js 对象深度复制

      本文链接:https://www.haomeiwen.com/subject/ifrvmctx.html