function convertListToObject(arr) {
let result = {};
for (let el of arr) {
if(el.length >0) {
result[el[0]] = el[1];
}
}
return result;
}
반복문 안에서 el.length >0
조건을 줘서, 빈 배열이 아닐 경우에만 해당 작업(값 할당)을 수행하도록 해줬다. 빈 배열일 경우 예외 처리는 됐지만, 중복되는 키가 있는 경우 항상 마지막 값으로 업데이트되기 때문에 문제의 조건을 만족시키지 못했다.
키가 배열에 존재하는지를 판별하는 조건을 추가해줘야할 것 같아서 in 키워드를 사용한 조건을 추가해봤다.
function convertListToObject(arr) {
let result = {};
for (let el of arr) {
if(el.length >0 && !(el[0] in result)) {
result[el[0]] = el[1];
}
}
return result;
}
!(el[0] in result)
조건을 추가해줘서, 빈배열이 아니면서 결과 객체에 배열의 0번 인덱스가 키로 존재하지 않을 경우에만 값을 할당하는 작업을 수행하게 됐다. 내가 쓴 조건은 result[el[0]] === undefined
로 바꿀 수도 있다.