알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현

2021. 9. 15. 18:51·알고리즘 연습

알고리즘 연습 문제 - 나만의 풀이

문제: 2차원 배열(배열을 요소로 갖는 배열)을 입력 받아 그 배열의 요소(배열)로 만든 객체를 리턴
 

입력 조건: 
arr[i] 는 string 타입을 요소로 갖는 배열, arr[i].length 는 0 또는 2

출력 조건: 
arr[i]의 첫번째 요소가 키, 두번째 요소가 값이 되는 객체를 리턴할 것
중복되는 키가 있으면 초기의 값을 사용
빈 배열을 입력 받으면 빈 객체를 리턴
arr[i]의 길이가 0 인 경우 무시할 것

 
아래는 코딩 내용
 


function convertListToObject(arr) {
  // TODO: 여기에 코드를 작성합니다.
  // 2차원 배열 arr 입력받아 이 배열의 요소 arr[0][0] arr[0][1] 로 객체를 만들어서 객체를 리턴
  // reduce?
// 보다는 바로 for으로 접근
  let key;
  let value;
  const newObj={};
  for(let i=0;i<arr.length;i++){
    if(arr[i].length===0){    
      continue;            // arr[i]의 길이가 0 인 경우 무시
    }
    key=arr[i][0]    // 키를 저장
    value=arr[i][1]    // 값을 저장
    if(!(key in newObj)){        // 중복된 키가 없는 경우에만 값을 저장
    newObj[key]=value;
    }
  }
  return newObj;        // 키와 값을 저장한 새로운 객체를 리턴


}


const arr = [
  ['make', 'Ford'],
  ['model', 'Mustang'],
  ['year', '1964'],
  ['make', 'Bill'],
];

let output = convertListToObject(arr);

console.log(output) 
/*
{
  make : 'Ford'
  model : 'Mustang',
  year : '1964'
}
*/

'알고리즘 연습' 카테고리의 다른 글

버블(거품) 정렬 알고리즘  (0) 2021.10.13
알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거  (0) 2021.09.17
알고리즘 연습 - 연속된 홀수 문자열 사이에 특정 문자 추가  (0) 2021.09.16
알고리즘 연습 - 각 단어 첫글자만 대문자가 되게 하는 함수  (0) 2021.09.15
알고리즘 연습 - 2의 거듭제곱의 여부를 리턴하는 함수  (0) 2021.09.13
'알고리즘 연습' 카테고리의 다른 글
  • 알고리즘 연습 - 문자열 배열을 입력 받아 가장 길고, 짧은 문자열을 제거
  • 알고리즘 연습 - 연속된 홀수 문자열 사이에 특정 문자 추가
  • 알고리즘 연습 - 각 단어 첫글자만 대문자가 되게 하는 함수
  • 알고리즘 연습 - 2의 거듭제곱의 여부를 리턴하는 함수
레실이
레실이
  • 레실이
    레실이의 티스토리
    레실이
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • SE Bootcamp 내용 정리 (63)
      • 알고리즘 연습 (7)
      • Project 주저리 (4)
      • 기술 면접 source (3)
      • 개발 일상 (7)
      • 생성 AI 활용 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    node.js
    node
    MVC
    DOM
    cmarket
    Linux
    알고리즘
    IT
    JavaScript
    ORM
    JS
    인증/보안
    react
    ubuntu
    자료구조
    중복 순열
    state
    Python
    useRef
    문자열
    PickAndDrink
    useState
    CORS
    CSS
    데이터베이스
    mongoDB
    Ajax
    객체
    promise
    CSR
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
레실이
알고리즘 연습 - 2차원 배열의 요소로 만든 객체를 리턴하는 함수 구현
상단으로

티스토리툴바