Estoy creando una aplicación React usando datos de una API. los datos de respuesta son un objeto largo y complicado que se parece a esto:
{ "Frozen Products": [ { "_id": "6181849285e8d8f86be2d9df", "name": "Peas (800g)", "category_id": "6181841060c425f76e57b603", "slug": "vegetables", "quantity": 16, "price": { "amount": 3.00 }, "thumbnail":"URI ...",, "images": [ "URI ...", ], "synonyms": [ "Veggies" ], }, //etc for many key/values inside this object .. }Necesito acceder a la información para mostrar una categoría ("Productos congelados" en este caso) y todos los nombres de productos e imágenes debajo de ella.
Pero creo que necesito acceder a cada par Clave/Valor mediante un bucle a través de su índice (datos de ejemplo [0]), no el nombre de la Clave, ya que las claves son creadas dinámicamente por una API. Entonces, ¿cómo puedo cambiar esto a:
{ [ "Frozen Products": [ { "_id": "6181849285e8d8f86be2d9df", "name": "Peas (800g)", "category_id": "6181841060c425f76e57b603", "slug": "vegetables", "quantity": 16, "price": { "amount": 3.00 }, "thumbnail":"URI ...",, "images": [ "URI ...", ], "synonyms": [ "Veggies" ], }, ]puede recorrer un objeto con for in iterador. No importa cuáles sean los nombres clave
for(key in object) { let value = object[key]; }Creo que necesitas algo como esto:
let data = { "Frozen Products": [ { "_id": "6181849285e8d8f86be2d9df", ... } ], "Another Category": [...] } let categories = Object.keys(data).map((key) => ({categoryName: key, products: data[key]}));