从数组深层嵌套的对象

时间:2017-03-09 04:22:06

标签: javascript recursion

如何从数组创建深层嵌套对象。像这样......

const a = ['a', 'b', 'c', 'd'];

为...

{
  a: {
    b: {
      c: {
        d: {}
      }
    }
  }
}

可能与数组中的元素一样深。

1 个答案:

答案 0 :(得分:1)

使用Array#reduce方法。

const a = ['a', 'b', 'c', 'd'];

let res = {};

a.reduce((obj, e) => obj[e] = {}, res)

console.log(res)

或使用Array#reduceRight方法。

const a = ['a', 'b', 'c', 'd'];

let res = a.reduceRight((obj, e) => ({ [e]: obj }), {})

console.log(res)