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

110
Visualizações
Asignar valores de objeto de una matriz dentro de una matriz
const course = [{ id: 1, name: 'Half Stack application development', parts: [ { name: 'Fundamentals of React', exercises: 10, id: 1 }, { name: 'Using props to pass data', exercises: 7, id: 2 }, { name: 'State of a component', exercises: 14, id: 3 } ] }, { name: 'Node.js', id: 2, parts: [ { name: 'Routing', exercises: 3, id: 1 }, { name: 'Middlewares', exercises: 7, id: 2 } ] } ]

Descubrí que es fácil mapear los nombres "Half Stack Application Development" y "Node.js" y mostrarlos haciendo:

 {course.map(c => <li>{c.name}</li>)}

Sin embargo, course.parts.map(c => <li>{c.name}</li>) devuelve indefinido.

¿Cómo lo mapearías para que se vea como

Desarrollo de aplicaciones de media pila

  • Fundamentos de reaccionar
  • Uso de accesorios para pasar datos
  • Estado de un componente

Nodo.js

  • Enrutamiento
  • software intermedio

¿Por qué curso.partes.mapa(p => p.nombre) devuelve indefinido y cómo puede acceder a los nombres en la matriz de partes?

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

0

A continuación, se presenta una demostración funcional que usa fragmentos de pila y ReactJS (v 16.8.0) que logra el objetivo deseado.

 const Thingy = ({courses, ...props}) => { return ( <div> {courses.map(c => ( // iterate over the "courses" array <div> <h4>{c.name}</h4> {c.parts.map(p => ( // now, for each "course", iterate over "parts" array <li>{p.name}</li> ))} </div> ))} </div> ); }; const course = [{ id: 1, name: 'Half Stack application development', parts: [ { name: 'Fundamentals of React', exercises: 10, id: 1 }, { name: 'Using props to pass data', exercises: 7, id: 2 }, { name: 'State of a component', exercises: 14, id: 3 } ] }, { name: 'Node.js', id: 2, parts: [ { name: 'Routing', exercises: 3, id: 1 }, { name: 'Middlewares', exercises: 7, id: 2 } ] } ] ReactDOM.render( <div> DEMO <Thingy courses={course} /> </div>, document.getElementById("rd") );
 <div id="rd" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.0/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.0/umd/react-dom.production.min.js"></script>

Explicación

Se agregaron comentarios en línea al fragmento anterior.

about 4 years ago · Juan Pablo Isaza Relatório

0

El course y las parts son matrices, por lo que no puede obtener el curso. course.parts directamente. Puede hacer un mapa doble para las representaciones como a continuación

 {course.map(c => <> <p>{c.name}</p> <ul> {c.parts.map(part => <li>{part.name}</li>)} </ul> </>)}
about 4 years ago · Juan Pablo Isaza Relatório

0

Tendrías que hacer un mapa dentro de un mapa.

Esto debería funcionar:

 <ul> {course.map(c => ( <> <li>{c.name}</li> <ul> {c.parts.map(p => <li>{p.name}</li>)} </ul> </> ))} </ul>
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