본문 바로가기
코플릿 기록/JavaScript

객체 15번 ★★

by 뭉지야 2022. 12. 30.
728x90

#문제

배열과 객체를 입력받아 배열의 각 요소들을 객체의 키로 했을때 그 값을 추출하여 만든 새로운 객체를 리턴해야합니다.


#내가 푼 답

//obj에서 key 앞으로뽑아서 // abcd
// arr와 동일하다면 -> obj 리턴
// 동일하지 않으면 -> ?

const target = Object.keys(obj); // abcd
for (let i = 0; i < arr.length; i++) {
  if arr[i]

//배열의 요소가 객체의 키로 있으면, 그 키와 값을 새로운 객체에 넣는다.
//배열의 요소와 객체의 키를 각각 비교 -> 문자열가지고 두 문자열 중복된거 확인 -> 이중반복문

#반성
 
result[prop] = obj[prop]
result객체에 prop를 키로 한 값에다가, obj객체의 prop를 키로한 값을 할당

이런 의미이다!!!!!!!!!!!!!!!!!!!!!!!

주사기 이중반복문 다시 생각해보기!!! 밖은 고정! 안에 먼저 쭉돌고 !!!


#풀이

//arr는 obj의 키가 된다.
//새로운 객체를 리턴
//const arr = ['a', 'c', 'e'];
//const obj = { a: 1, b: 2, c: 3, d: 4 };
//배열의 요소가 객체의 키로 있으면, 그 키와 값을 새로운 객체에 넣는다.
//배열의 요소와 객체의 키를 각각 비교  -> 문자열 가지고 두 문자열 중복된거 확인 -> 이중반복문

        //el='a' prop='a'

      //el='a' prop='b'

      //el='a' prop='c'

      //el='a' prop='d'

     //el='c' prop='a'

     //el='c' prop='b'

     //el='c' prop='c'

     //el='c' prop='d'

    //el='e' prop='a'

    //el='e' prop='b'

    //el='e' prop='c'

    //el='e' prop='d'

//result 객체에 prop을 키로 한 값에다가, obj객체의 prop을 키로한 값을 할당


     

#답

function select(arr, obj) {
 let result = {};
 for (let prop in obj) {
       for (let i = 0; i<arr.length; i++) {
               if(prop === arr[i]) {
                   result[prop] = obj[prop];
                   }
            }
         }
return result;
}

728x90

'코플릿 기록 > JavaScript' 카테고리의 다른 글

객체 19번 (extend) ★★★★  (0) 2022.12.30
객체 20번 ★★★★  (0) 2022.12.30
calculator 구현과제  (0) 2022.12.27
반복문13번 ★★  (0) 2022.12.21
반복문 12번★★  (0) 2022.12.20