0

tengo el siguiente JSON:

{
  "fields": [
    "Producto",
  ],
  "values": [
    [
      "PG3X6C14",
      [
        3.6768466736934853,
      ],
      [
        1
      ],
      [
        0.18,
        0.02,
        0.02,
      ],
      [
        "Cajas",
        "Maquinaria",
        "Papalotes" 
      ]
    ]
  ]
}

Pero necesito correlacionar los datos para que queden de la siguiente manera: Cajas: 0.18, Maquinaria: 0.02, Papalotes: 0.02

Accedo al objecto desde Javascript, pero no sé como hacer esa correlación para que quede así en mi HTML. Este JSON lo obtengo a travez de una API ¿Como podría arreglarlo? Muchas gracias.

Isaac Alejandro
  • 329
  • 2
  • 4
  • 14
  • Ese json lo has creado tu o te viene a través de una API que has hecho tu o te viene de una API que no tienes acceso,etc. Pon más información, gracias. Ya que de por si ese json no puedes llegar a la información de las cajas, maquinaria y palotes ya que en "comida" no hay ni coma ni dos puntos – Jose Jul 12 '19 at 00:31
  • 1
    Listo, viene a travez de una API – Isaac Alejandro Jul 12 '19 at 00:43
  • [JSON =! Objeto](https://es.stackoverflow.com/questions/164943/cu%c3%a1l-es-la-diferencia-entre-json-y-un-objeto-en-javascript) en tu ejemplo tienes un Objeto – JackNavaRow Jul 12 '19 at 19:40

1 Answers1

1

Una opción sería personalizar la key de cada objeto en el array de la siguiente manera

const data = {
        "fields": [
            "Producto",
        ],
        "values": [
            [
                "PG3X6C14",
                [
                    3.6768466736934853,
                ],
                [
                    1
                ],
                [
                    0.18,
                    0.02,
                    0.02,
                ],
                [
                    "Cajas",
                    "Maquinaria",
                    "Papalotes"
                ]
            ]
        ]
    }

    let out = []
    const base = data.values[0] 

    for(let i = 0; i < base[3].length; i++) {
        let items = {}
        items[base[4][i]] = base[3][i]
        out.push(items)
    }
    console.log(out)

Nos comentas si es lo que necesitas

Paulo Urbano Rivera
  • 4,432
  • 1
  • 14
  • 29