Начнет модифицировать, и все - пиши пропало.
Написали бы в человеческом виде
const arr = [
{ name: 'name' },
{ name: 'price' },
{ name: 'number', getter: Number },
].reduce((acc, { name, getter }) => (
document.querySelector(`input[name="${name}"]`)
.value
.split(', ')
.forEach((n, i) => (acc[i] = acc[i] || {})[name] = getter ? getter(n) : n),
acc
), []);
написал код, приближённый к тому что я хотел реализовать
мне интересны <...> я буду <...> попробую