JSオブジェクトの深さコピーを実現

409 ワード

function deepCopy(obj1,obj2) {
    for (var k in obj2) { 
        if(obj2.hasOwnProperty(k)){ //        
            if(typeof obj2[k] == 'object') { //           
                obj1[k] = Array.isArray(obj2[k])?[]:{};
                deepCopy(obj1[k],obj2[k]); //          
            }else{
                obj1[k] = obj2[k]; //            
            }
        }
    }
}