알고리즘 연습 문제 - 나만의 풀이
문제: 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 |