Мы можем использовать Object.fromEntries
и Object.fromEntries
для простого преобразования объектов -
const transform = (o = {}) =>
Object.fromEntries(Object.entries(o).map(([k,v]) =>
[ k
, v.includes(',')
? Object.fromEntries(v.split(',').map((x, i) => [ i, x ]))
: v
]
))
console.log(transform({ x: '1', y: '1,2,3' }))
// { x: 1, y: { 0: '1', 1: '2', 2: '3' } }
console.log(transform({ a: 'apple,pear,cherry', b: 'foo,bar' }))
// { a: { 0: 'apple', 1: 'pear', 2: 'cherry' }, b: { 0: 'foo', 1: 'bar' } }