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

217
Visualizações
¿Cómo seleccionar la propiedad del objeto anidado con map () en Javascript?

Este es mi objeto.

 values : { title : 'this is title ..', translate : { en : 'some texts .. ', }, }

Y esta es la matriz que tengo.

 arr = ['translate.en', 'title'];

Lo que quiero hacer es esto, pero esto no funciona como esperaba.

 const value = arr.map(item => values[item]); // (Result) value : undefined, 'this is title ..' // (Expected) value : 'some texts .. ', 'this is title ..' const value = arr.map(item => values.item); // error : 'item' is declared but its value is never read.

¿Cómo obtener el valor de values.translate.en usando map() ?

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

0

puedes usar este fragmento. No es el más limpio, pero entiendes la idea.

 arr.map(item => { let arrItem = item.split('.'); let data = values; for (i in arrItem) { data = data[arrItem[i]]; } return data; });
about 4 years ago · Juan Pablo Isaza Relatório

0

Su código actual está haciendo lo siguiente:

 const values = { title: 'this is title ..', translate: { en: 'some texts .. ', }, 'translate.en': 'hello', }; const arr = ['translate.en', 'title']; const value = arr.map((item) => values[item]); // (Result) value : 'hello', 'this is title ..'

Si quieres hacer lo que quieres hacer, debes hacer lo siguiente:

 const values = { title: 'this is title...', translate: { en: 'some texts... ', }, }; const arr = ['translate.en', 'title']; const value = arr.map((item) => { let index = item.split('.'); let value = values; for (i in index) { value = value[index[i]]; } return value; }); // (Result) value : 'come texts...', 'this is title ..'

Sin embargo, si es posible, sugeriría estructurar su objeto de values de la siguiente manera:

 const values = { title: { kr: '타이틀', en: 'title' }, body: { en: 'some texts .. ', kr: '어쩌고 저쩌고 .. ', }, };

Entonces, siempre que sepa qué parte: body o title se requiere y sepa el idioma que desea obtener, será fácil obtenerlo.

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