js запись в глубь массива

Есть плоский массив

    [{id: 111, name: 'text'}, {id: 112, name: 'text'}, 
{id: 113, name: 'text'}, {id: 114, name: 'text'},]

Нужно записать элементы в глубь, что бы получилось

[ 
  id: 111
  name: 'text',
  chilren: [
             id: 112
             name: 'text',
             children: [
                        id: 113
                        name: 'text',
                        children: [
                                    id: 114
                                    name: 'text',
                                      children: []
                                   ]
                       ]
           ]
]

Пробовал так

  let arr = []
  for (let index in parentPath) {
    arr.children = parentPath[index]
  }
 console.log('ARR', arr)

Но, походу, без рекурсии не обойтись?

upd:

let data=[{id: 111, name: 'text'}, {id: 112, name: 'text'}, 
{id: 113, name: 'text'}, {id: 114, name: 'text'},]
let res=data.reduceRight((r,n,i)=>({id:i+1,name:n,children:r?[r]:[]}),0);
console.log(res);


Ответы (1 шт):

Автор решения: DiD

let data = [ { id: 111, name: 'lvl0' }, 
             { id: 112, name: 'lvl1' }, 
             { id: 113, name: 'lvl2' },
             { id: 114, name: 'lvl3' },];

let res = data.reduceRight((r,o)=>((o.children=r?[r]:[]),o),0);
console.log(res);

→ Ссылка