Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
Transforme los datos de fetch con React

Recuperé datos de una API y ahora trato de transformar los datos para enviar una solicitud POST. Quiero agrupar dos ID de usuario que coincidan y publicar sus ciudades comunes en una matriz en lugar de objetos separados.

Por ejemplo, los datos que recupero se ven así:

 { "events": [ { "city": "city-1", "user": "d1177368-2310-11e8-9e2a-9b860a0d9039" }, { "city": "city-2", "user": "d1177368-2310-11e8-9e2a-9b860a0d9039" } ]}

Quiero que los datos de mi solicitud POST sean similares a esto:

 { "user": { "d1177368-2310-11e8-9e2a-9b860a0d9039": [ { "city": [ "city-1", "city-2" ] }]}}

Hasta ahora, este es mi componente React para la solicitud:

 import React, { useEffect, useState } from "react"; import axios from "../data/axios"; export default function Events({ fetchEvents }) { const [events, setEvents] = useState([]); useEffect(() => { async function fetchData() { const requests = await axios.get(fetchEvents); setEvents(requests.data.events); return requests; } fetchData(); }, [fetchEvents]); //here is my issue: function createSessions(user, city) { if (user === user) { } }

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Itere sobre la matriz de events , reduciéndola a un objeto con una propiedad de objeto de user . El objeto de user tiene los valores de user de los elementos de la matriz de events como clave y las ciudades se insertan en una propiedad de matriz de city .

 events.reduce( (result, el) => { if (!result.user[el.user]) { result.user[el.user] = [{ city: [] }]; } result.user[el.user][0].city.push(el.city); return result; }, { user: {} } ); 

 const data = { events: [ { city: "city-1", user: "d1177368-2310-11e8-9e2a-9b860a0d9039" }, { city: "city-2", user: "d1177368-2310-11e8-9e2a-9b860a0d9039" } ] }; const data2 = data.events.reduce( (result, el) => { if (!result.user[el.user]) { result.user[el.user] = [{ city: [] }]; } result.user[el.user][0].city.push(el.city); return result; }, { user: {} } ); console.log(data2);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda