dada una matriz como ['a', 'b', 'c']
¿Cómo puedo obtener un objeto como
{ current: 'a', next : { current: 'b', next: { current: 'c' } } }Puedes hacer una función recursiva para esto:
const data = ['a', 'b', 'c']; function createObj([current, ...rest]) { const result = { current }; if (rest.length) result.next = createObj(rest); return result; } console.log(createObj(data)); El [current, ...rest] es un único argumento de matriz desestructurado .
Puede usar Array.reduceRight() para crear el objeto:
const arr = ['a', 'b', 'c'] const obj = arr.reduceRight((acc, o) => ({ current: o, ...acc && { next: acc } }), null) console.log(obj)