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

185
Vistas
Data Format, how to map this object?

I'd like to map out an array from a backend API call.

This comes from a schema which currently has the format of

teamMemberDetails: {
            member_v2: {
                memberEmail: [String], default: [],
                memberName: [String], default: [],
                memberID: [String], default: [],
                memberRole: [String], default: ""
            },
        },

Within this, I have an object, however it looks like this for example:

        "member_v2": {
            "memberEmail": [
                "natx@hotmail.com",
                "sebaxo4897@ukgent.com"
            ],
            "memberID": [
                "62fe3c888e2776ef3c1a010f",
                "6301dcd00e05d7cd322cc45b"
            ],
            "memberName": [
                "Natx Trial",
                "sebaxo"
            ],
            "memberRole": [
                "QA Tester",
                "trialer"
            ]
        },

Given the above, i'd like to map through this data on a component. I have tried to store it into a const, then map however it will error out. For example:

const CompanyUserMembers = () => {

    const companyFull = useSelector(state=>state.companyuser.currentUser.teamMemberDetails.member_v2)

    console.log(companyFull)

  return (
    <GeneralContainer>
      {companyuserMembers.map(member=>(
        <TeamMemberCard member={companyFull} key={companyFull.memberID}/>
      ))}
    </GeneralContainer>
  )
}

export default CompanyUserMembers

This is then passed to a component which displays each user in the card. What am I doing wrong and how should i reformat?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hi the first thing i can notice from your code you declare "comapnyFull" and you are iterating over "companyMembers"

the code should be:

const CompanyUserMembers = () => {

    const companyFull = useSelector(state=>state.companyuser.currentUser.teamMemberDetails.member_v2)

    console.log(companyFull)

  return (
    <GeneralContainer>
      {companyFull.memberName.map(member=>(
        <TeamMemberCard member={member} key={member}/>
      ))}
    </GeneralContainer>
  )
}

export default CompanyUserMembers

however i'm not sure that is what you are looking for, your arrays access should be:

companyFull["memberName"].map(...)    // Would give you ["Natx Trial", "sebaxo"]
companyFull["memberID"].map(...)   // Would give you ["62fe3c888e2776ef3c1a010f","6301dcd00e05d7cd322cc45b"]

or

companyFull.memberName.map(...)    // Would give you ["Natx Trial", "sebaxo"]
companyFull.memberID.map(...)   // Would give you ["62fe3c888e2776ef3c1a010f","6301dcd00e05d7cd322cc45b"]

if you want to iterate over one param, and get something from another param you do it like that:

{companyFull["memberName"].map((name, i) => (
    <TeamMemberCard member={name} key={companyFull["memberID"][i]}/>
))}

Hope it makes it more clear

UPDATE

Based on comments member_v2 remap to array:

const member_v2 = {
    "memberEmail": [
        "natx@hotmail.com",
        "sebaxo4897@ukgent.com"
    ],
    "memberID": [
        "62fe3c888e2776ef3c1a010f",
        "6301dcd00e05d7cd322cc45b"
    ],
    "memberName": [
        "Natx Trial",
        "sebaxo"
    ],
    "memberRole": [
        "QA Tester",
        "trialer"
    ]
}

const CompanyUserMembers = () => {
  const members = useMemo(() => {
    const array = [];
    for (let i = 0; i < member_v2.memberEmail.length; i++)
      array.push({memberEmail:member_v2.memberEmail[i], memberID: member_v2.memberID[i], memberName: member_v2.memberName[i],memberRole:member_v2.memberRole[i]});
    return array;
  }, [member_v2])

  console.log(members)
  ...
  return (
     {members.map(member => (...))}
  )
}

using destructure and combining in compcode

const CompanyUserMembers = () => {
   const companyFull = useSelector(state=>state.companyuser.currentUser.teamMemberDetails.member_v2)
   const { memberEmail, memberID, memberName, memberRole} = companyFull;

   return (
   ...
   {memberEmail.map((_, index) => (
       <TeamMemberCard memberEmail={memberEmail[index]} key={memberID[index]} memberName={memberName[index]} memberRole={memberRole[index]}/>
    ))}
   ...
   )
} 
about 4 years ago · Juan Pablo Isaza Denunciar
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