首页 > 试题广场 >

JavaScript脚本如何对一个对象进行深度Clone?

[问答题]

JavaScript脚本如何对一个对象进行深度Clone

function deepClone(obj){
        var str = JSON.sringify(obj);
        var newobj = JSON.parse(str);
        return newobj;
    }
发表于 2016-08-18 16:00:07 回复(4)
//如果支持JSON方法使用楼上方法最简单方便,但是如果不支持而且要考虑完整就比较麻烦的,先给个简洁的方法:
 //深克隆
    function deepClone(obj){
        if (!obj) { return obj; }
        var o = obj instanceof Array ? [] : {};
        for(var k in obj){
            if(obj.hasOwnProperty(k)){
                o[k] = typeof obj[k] === "object" ? deepClone(obj[k]) : obj[k];
            }
        }
        return o;
    } 

编辑于 2016-12-06 10:18:58 回复(0)