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

236
Vistas
Convertir una lista de objetos en una lista diferente de objetos en javascript

Tengo un problema con el que me está costando. Tengo una lista de objetos de ejercicios como a continuación:

 exerciseDataList = [ {exerciseType: 'Legs', activity: 'Squats', weight: '180', reps: '10'}, {exerciseType: 'Legs', activity: 'Squats', weight: '180', reps: '10'}, {exerciseType: 'Legs', activity: 'Leg Press', weight: '150', reps: '10'}, {exerciseType: 'Legs', activity: 'Leg Press', weight: '140', reps: '10'}, {exerciseType: 'Chest', activity: 'Bench Press', weight: '180', reps: '10'}, ]

Espero convertir lo anterior a lo siguiente:

 treeData = [ { 'name':'Legs', 'data': [{'x':'Squats','y':3600}, {'x':'Leg Press', 'y':2900}] }, { 'name':'Chest', 'data': {'x': 'Bench Press', 'y': 1800} } ]

Esencialmente data.x es la actividad y data.y es la suma de weight * reps para el mismo tipo de exerciseType y activity .

Me está costando entender esto y me pregunto cuál sería la manera eficiente de hacerlo, ya que la lista de datos de exerciseDataList puede alargarse.

Sé que necesito recorrer la lista de objetos de ejercicio y treeData pero aquí es cuando no estoy seguro de qué hacer a continuación. Siento que para lograr esto necesito 3 bucles for? ¿Cómo haría para hacer esto y hay una mejor solución que O (n ^ 3)? Gracias.

 for (let edata of this.getExerciseDataList) { for (let data of this.treeData) { ..... } }
about 4 years ago · Juan Pablo Isaza
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