es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mapeo a través de múltiples matrices de objetos y comparando identificaciones.

Tengo un pequeño dilema. Estoy creando un foro y estoy llamando a 3 API’s diferentes. Supongamos que tengo varios JSONs:

let forumPost= [{
“userId”: 1,
“postId”: 1,
“postTitle”: “Soy el título del post”,
“postBody”: “Soy el cuerpo del post”
}]

let forumUser= [{
“userId”: 1,
“name”: “Alguien Alguien”,
“username”: “Alg”,
}]

let forumComment = [{
“postId”: 7,
“userId” : 10,
“body”: “No me gusta tu publicación”,
}]

Ahora me gustaría crear algo como esto:

Título del post
Cuerpo del post

Por el usuario

Usuario del Comentario: Cuerpo del comentario
Usuario del Comentario: Cuerpo del comentario

Para hacer esto, actualmente estoy haciendo un mapeo anidado 3 veces de 3 diferentes matrices de objetos y comparando id’s así:

forumPost.map(…
forumUser.map(…
forumComment.filter(…
(post.userId === user.userId){

    }

¿Me pregunto si hay una manera más eficiente de hacer mapas y comparar objetos anidados múltiples en vanilla ReactJS?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede haber una forma más eficiente de mapear y comparar múltiples objetos anidados en vanilla ReactJS. Un enfoque podría ser usar el método Array.prototype.reduce() para iterar sobre los arreglos y crear un nuevo objeto con la estructura deseada. Esto le permitiría acceder fácilmente a los datos que necesita sin tener que hacer un mapeo y comparación manual de los objetos.

    Por ejemplo, podría usar el método reduce() para crear un objeto con la siguiente estructura:

    {
      postId: {
        postTitle: 'Soy el título del post',
        postBody: 'Soy el cuerpo del post',
        userName: 'Som',
        comments: [
          {
            userId: 10,
            body: 'No me gusta tu post'
          }
        ]
      }
    }
    

    Esto le permitiría acceder fácilmente a los datos que necesita sin tener que hacer un mapeo y comparación manual de los objetos.

Comments are closed.