Tengo una matriz de objetos y me gustaría extraer las claves de objeto y colocarlas en una matriz de posibles claves de objeto. Esta es la matriz de objetos con la que comencé:
const data = [ { name: "Joe", age: 23, job: "Artist", hoby: "Drawing", }, { name: "Michael", age: 21, job: "Engineer", hoby: "Fishing", }, { name: "Jenifer", age: 22, job: "Dentist", hoby: "Gardening", }, ]Me gustaría obtener el siguiente resultado:
{ header: [ 'number', 'name', 'age', 'job', 'hoby' ], data: [ { name: 'Joe', age: 23, job: 'Artist', hoby: 'Drawing' }, { name: 'Michael', age: 21, job: 'Engineer', hoby: 'Fishing' }, { name: 'Jenifer', age: 22, job: 'Dentist', hoby: 'Gardening' } ] }En este momento estoy usando el siguiente código para lograr esto:
data.unshift(header); data.pop(data) data.pop(data) data.pop(data) data.push(data1);Pero no está devolviendo lo que me gustaría que devolviera. Alguien sabe una respuesta a mi pregunta. Gracias por adelantado
Puedes hacer algo como esto:
result = { header: [], data: data }; for(const record of data) { for(const [key, value] of Object.entries(record)) { if(!result.header.includes(key)) { result.header.push(key) } } } console.log(result) Pero no entiendo de dónde viene tu number de encabezado...?