Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

239
Vistas
Cómo generar una matriz de objetos a partir de un objeto

Tengo un objeto como este:

 { name: 'ABC', age: 12, timing: '2021-12-30T11:12:34.033Z' }

Quiero hacer una matriz de objetos de cada tecla del objeto anterior como este:

 [ { fieldName: 'name', dataType: 'string' }, { fieldName: 'age', dataType: 'number' }, { fieldName: 'timing', dataType: 'date' } ]

Intenté esto:

 let op = Object.entries(data).map(([key, value]) => ({ fieldName: key, dataType: typeof value }));

pero obteniendo tipo de datos: 'objeto' para la columna de fecha pero no puedo lograrlo. ¿Hay alguna solución? Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede usar el análisis de fecha para verificar si es una fecha válida o no.

 const input = { name: 'ABC', age: 12, timing: '2021-12-30T11:12:34.033Z' }; const output = Object.entries(input).map(([key, value]) => ({ fieldName: key, dataType: typeof value === 'string' && !isNaN(Date.parse(value)) ? 'date':typeof value })); console.log(output);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar Object#entries con Array#map y typeof para obtener el tipo de valor. Para el caso en que se deba usar 'date' para marcas de tiempo válidas, podría usar el método Date.parse() con Number#isNaN .

Prueba lo siguiente

 const input = { name: 'ABC', age: 12, timing: '2021-12-30T11:12:34.033Z' }; const output = Object.entries(input).map(([key, value]) => ({ fieldName: key, dataType: typeof value !== 'string' || isNaN(Date.parse(value)) ? typeof value : 'date' })); console.log(output);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

Editar: Reemplazar Object#values con Object#entries .

Edición 2: ¡Agregue typeof value !== 'string' para la dataType de tipo de datos. Tomado de la respuesta de @RahulSharma.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar Object.keys() y Array.prototype.map() :

 const ip = { name: 'ABC', age: 12, timing: '2021-12-30T11:12:34.033Z' }; const op = Object.keys(ip).map((key) => ({ fieldName: key, dataType: typeof ip[key] === 'string' && !isNaN(Date.parse(ip[key])) ? 'date' : typeof ip[key] })); console.log(op);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda