Esta es una pregunta que me he encontrado durante una entrevista:
Escriba una función para transformar la matriz:
[ {name:'a',values:[1,2]}, {name:'b',values:[3]}, {name:'a',values:[4,5]} ]a:
[ {name:'a',values:[1,2,4,5]}, {name:'b',values:[3]} ]Sé que esto no es difícil, pero simplemente no puedo resolverlo. alguien sabe como resolverlo? ¿Hay algún lugar donde pueda encontrar y practicar preguntas más prácticas como esta?
Puede agrupar la matriz por name y luego obtener una matriz usando el objeto agrupado:
const bla = [ {name:'a',values:[1,2]}, {name:'b',values:[3]}, {name:'a',values:[4,5]} ]; const res = Object.values(bla.reduce((obj, { name, values }) => { obj[name] = obj[name] ?? {name, values: []} obj[name].values.push(...values) return obj }, {})); console.log(res)