const entrada = [{coche: 'BMW' }, {coche: 'Benz'}, {bicicleta: 'KTM'}, {bicicleta: 'Honda'}]
salida constante = {coche: ['BMW','Benz'], bicicleta: ['KTM','Honda']}
es posible?
Los problemas de agrupar por se pueden resolver usando reduce . Aquí asumí que cada elemento en la matriz de entrada tiene solo 1 par de valores clave
const input = [{car: 'BMW' }, {car: 'Benz'}, {bike: 'KTM'}, {bike: 'Honda'}] const output = input.reduce((acc,curr)=>{ const [k,v] = Object.entries(curr)[0] acc[k] = acc[k] || [] acc[k].push(v) return acc },{}) console.log(output)Es bastante simple: recorra la matriz de objetos, verifique si la clave existe en el objeto de salida; de lo contrario, cree una clave con valor - matriz y presione el valor; de lo contrario, simplemente presione el valor a la clave existente.
const input = [{car: 'BMW' }, {car: 'Benz'}, {bike: 'KTM'}, {bike: 'Honda'}] let output = {}; for(let i = 0 ; i < input.length ; i++){ const key = Object.keys(input[i])[0]; if(!output[key]){ output[key] = [input[i][key]]; }else{ output[key].push(input[i][key]) } }