美文网首页
对象的深浅拷贝

对象的深浅拷贝

作者: 8d2855a6c5d0 | 来源:发表于2017-05-22 21:02 被阅读0次

    浅拷贝

       function shallowCopye(oldObj){
            var newObj = {};
            for(item in oldObj){
                if (oldObj.hasOwnProperty(item)) {
                    newObj[item] = oldObj[item];
                }
            }
            return newObj
        }
    

    深拷贝

    方法1
      function deepCopy(oldObj) {
        var newObj = {};
        for (const key in oldObj) {
            if (object.hasOwnProperty(key)) {
                if (typeof oldObj[key] === 'string' ||
                    typeof oldObj[key] === 'number' ||
                    typeof oldObj[key] === 'boolean' ||
                    oldObj[key] === null ||
                    oldObj[key] === undefined
                ) {
                    newObj[key] = oldObj[key];
                }else{
                    newObj[key] = deepCopy(oldObj[key]);
                }
                
            }
        }
    }
    
    方法2
        function deepCopy(oldObj) {
            var newArr = JOSN.parse(JOSN.stringify(oldObj));
            return  newArr
        }
    

    相关文章

      网友评论

          本文标题:对象的深浅拷贝

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