국쥐의 개발 일상

타입스크립트 객체 복사 구현해보기 본문

Javascript/Typescript

타입스크립트 객체 복사 구현해보기

kuckjwi 2019. 9. 10. 16:57

 

private copy(obj: any): any {
	const keys = Object.keys(obj);
    const newObj = {};
    for (const key of keys) {
      if (Array.isArray(obj[key])) {
        const newArr = [];
        for (const o of obj[key]) {
          if (typeof o === 'object') {
            newArr.push(this.copy(o));
          } else {
            newArr.push(o);
          }
        }
        newObj[key] = newArr;
      } else if (obj[key] && typeof obj[key] === 'object') {
        newObj[key] = this.copy(obj[key]);
      } else {
        newObj[key] = obj[key];
      }
    }
    return newObj;
}