搜索
javascript - 如何深拷贝下面这个数组和对象
怪我咯
怪我咯 2017-04-10 18:09:24
[JavaScript讨论组]
var a=[{a:1,b:2},[1,2,3,4],function(){}];

        var b={
            c:[1,2,3],
            d:{
                c:1,
                l:2
            }
        };

有什么办法可以写一个方法深拷贝这种例子。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
阿神

见代码

function clone(obj) {
  var objType = Object.prototype.toString.call(obj);
    if(objType === '[object Array]' || objType === '[object Object]') {
    var temp = (objType === '[object Array]') ? [] : {} ;
    for(var k in obj) {
      temp[k] = arguments.callee(obj[k]);
    }
    return temp;
  }
  return obj;
}

var a=[{a:1,b:2},[1,2,3,4],function(){}];

var b={
    c:[1,2,3],
    d:{
        c:1,
        l:2
    }
};
var o = clone(b);
var oo = clone(a);
console.log(o);
console.log(oo);
PHP中文网

JSON.parse(JSON.stringify(obj))

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号