JavaScript

깊은 복사

차돌박이츄베릅 2023. 5. 25. 05:50

 

중첩된 객체의 내부의 모든 값들을 하나하나 다 찾아서 모두 복사하는 방법

  1. 객체의 프로퍼티 중, 기본형 데이터는 그대로 복사
  2. 참조형 데이터는 다시 그 내부의 프로퍼티를 복사(재귀적 수행: 함수나 알고리즘이 자기 자신을 호출하여 반복적으로 실행)
var copyObjectDeep = function (target) {
    var result = {};
    if (typeof target === 'object' && target !== null) {
        for (var prop in target) {
            result[prop] = copyObjectDeep(target[prop]);
        }
    } else {
        result = target;
    }
    return result;
};