깊은 객체를 만드는 것 #

배열을 객체로 만드는 방법은 보통 reduce를 사용합니다. reduce로 배열을 접어가며 객체를 생성합니다.

다만 만들고 싶은 것은 깊이가 깊은 객체입니다. 예를 들어 아래와 같습니다.

const a = ['a', 'b', 'c'];
const b = arrToObj(a); // { a: { b: {c:{} } } }

구현 #

구현은 아래와 같습니다.

function arrToObj(arr) {
  let res = {};
  for (let i = arr.length; i >= 0; i--) {
    res = { [arr[i]]: res };
  }
  return res;
}