How can I get all the different values for the same key in an array (JS)?

I’ve an array Like:

var array = [
            {charId: 'REFPER', text: 'Reference Period', selectOpt: 'EQ'}, 
            {charId: 'REFPER', text: 'Reference Period', selectOpt: 'EQ'},
            {charId: 'OTXDAY', text: 'Older Than x Days', selectOpt: 'EQ'},
            {charId: 'REFPER', text: 'Reference Period', selectOpt: 'EQ'},
            {charId: 'OTXDAY', text: 'Older Than x Days', selectOpt: 'BT'}
            ];
            
How I can achieve:

var newArray = [{
                param: 'REFPER',
                value: [{text: 'Reference Period',
                        selectOpt: 'EQ'
                        },
                        {text: 'Reference Period',
                        selectOpt: 'EQ'
                        },
                        {text: 'Reference Period',
                        selectOpt: 'EQ'
                        }]
                },
                {
                param: 'OTXDAY',
                value: [{text: 'Older Than x Days',
                        selectOpt: 'EQ'
                        },
                        {text: 'Older Than x Days',
                        selectOpt: 'BT'
                        }]
                }];

I need to save it in database.
I viewed: How to add an object to an array
JavaScript: Push into an Array inside an Object?
Thanks in advance.