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

141
Visualizações
Acceda y extraiga valores de una matriz de objetos doblemente anidados en JavaScript

Tengo una matriz de objetos y dentro de esos objetos hay otro objeto que contiene una propiedad particular de la que quiero obtener el valor y almacenar en una matriz separada.

¿Cómo accedo y almaceno el valor de la propiedad de name de la estructura de datos a continuación?

 pokemon:Object abilities:Array[2] 0:Object ability:Object name:"blaze" 1:Object ability:Object name:"solar-power"

¿Cómo devolvería y mostraría los valores en la propiedad de name como una buena cadena como

blaze, solar-power ?

Intenté hacer algo como esto, pero todavía obtengo una matriz y no quiero hacer un tercer ciclo ya que no funciona.

 let pokemonAbilities = []; let test = pokemon.abilities.map((poke) => Object.fromEntries( Object.entries(poke).map(([a, b]) => [a, Object.values(b)[0]]) ) ); test.map((t) => pokemonAbilities.push(t.ability));

Data de muestra:

 "pokemon": { "abilities": [ { "ability": { "name": "friend-guard", "url": "https://pokeapi.co/api/v2/ability/132/" }, "ability": { "name": "Solar-flare", "url": "https://pokeapi.co/api/v2/ability/132/" } } ] }

Luego estoy haciendo una unión en la matriz devuelta desde arriba para obtener una cadena formateada.

Parece que los múltiples bucles map() se pueden optimizar, pero no estoy seguro de cómo hacerlo más eficiente.

Gracias.

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

0

No hay necesidad de un bucle dentro del bucle. Prueba esto:

 const pokemon = { abilities: [{ ability: { name: 'friend-guard', url: 'https://pokeapi.co/api/v2/ability/132/' }, }, { ability: { name: 'Solar-flare', url: 'https://pokeapi.co/api/v2/ability/132/' } }] }; const pokemonAbilities = pokemon.abilities.map(item => item.ability.name).join(', '); console.log(pokemonAbilities);

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