如何将数组转换为对象的对象

时间:2018-05-30 21:54:37

标签: javascript arrays object

我喜欢这个数组:

const myArr = ['lorem', 'ipsum', 'dolor', 'sit', 'amet']

更改为如下所示的对象:

{
  lorem:{
    ipsum:{
       dolor:{
         sit:{
           amet: ''
         }
       }
     }
   }
 }

有没有简单的方法呢?

2 个答案:

答案 0 :(得分:1)

const result = myArr.reduceRight((accumulator, currentValue) => {
  return {
    [currentValue]: accumulator
  };
}, '');

如果需要,可以缩短语法:

const result = myArr.reduceRight((accumulator, currentValue) => 
  ({[currentValue]: accumulator}), '');

答案 1 :(得分:0)

它不漂亮,但它有效!

{{1}}