Это может быть то, что вы хотите.
const parentObj = [{
NAME: 'SOMENAME',
ID: '1',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'SOMENAME',
ID: '2',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'SOMENAME',
ID: '3',
FROM: '20191223',
TO: '99991231'
}]
const ids = parentObj.reduce((p,{NAME, ID})=>
((p[NAME] || (p[NAME] = [])),
(p[NAME].push(ID)), p), {})
console.log(parentObj.map(({NAME, FROM, TO})=>
({NAME, ID: ids[NAME], FROM, TO})))
Или это может быть то, что вы хотите. Была возможность двусмысленности на основе вашего комментария к другому ответу:
const parentObj = [{
NAME: 'SOMENAME',
ID: '1',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'SOMENAME',
ID: '2',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'SOMENAME',
ID: '3',
FROM: '20191223',
TO: '99991231'
}]
console.log(Object.values(parentObj.reduce(
(p,{NAME, ID, FROM, TO})=>
((p[NAME] || (p[NAME] = {NAME, ID: [], FROM, TO})),
(p[NAME]['ID'].push(ID)), p), {})))