본문 바로가기
codes/객체

19_extend

by Mia_ 2022. 11. 5.
function extend(obj1, obj2) {
  //Q. 두 개의 객체를 입력받아 두 번째 객체의 속성들을 첫번째 객체에 추가

  //1. 객체의 속성들을 비교해서
  //2. 일치하는 속성들은 건들이지 않고 없는 속성만 
  //3. 첫번째 속성에 추가 

  for(let proty in obj2){ //obj2의 키 값 순회 
      if(!(proty in obj1)){  //obj1의 키가 없을 때
        obj1[proty] = obj2[proty]; //obj1에 obj2의 속성 할당
      }
  }
}
//다시 풀어 본 코드

function extend(obj1, obj2) {
  //Q. 두 개의 객체를 입력받아 두 번째 객체의 속성들을 첫번째 객체에 추가

  //1.for in 구문으로 첫번짹 객체의 속성들에 일치하는 속성들이 있는지 체크
  //2.일치하면 아무것도 안하고 없으면 속성 추가
  
  for(let property in obj2){
    if(!(property in obj1)){
      obj1[property] = obj2[property]; //obj.c = obj2['c']; //obj1에 c 속성이 없음! c속성을 obj에 생성해 주면서 값도 할당해줌!
    }
  }
}

[참고]

 

'codes > 객체' 카테고리의 다른 글

18_getAllButLastElementOfProperty  (0) 2022.11.05
17_getValueOfNthElement  (0) 2022.11.05
14_getElementOfArrayProperty  (0) 2022.11.05
13_printObject  (0) 2022.11.05
08_removeOddValues  (0) 2022.11.05