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

188
Visualizações
No se puede hacer la intersección entre dos matrices anidadas

Estoy haciendo que las traducciones sean dinámicas, pero tengo problemas en la parte en la que tengo que mostrar el objeto correspondiente de la otra matriz.

Tengo dos matrices, que tienen el mismo modelo, y lo que intento hacer es, cuando busco una traducción, quiero mostrar también la traducción correspondiente del otro idioma.

Por el momento, solo puedo mostrar el que estás buscando.

Por ejemplo: Si busco la frase ¿Estás seguro? , además del ¿Estás seguro? oración, debe mostrar también la oración correspondiente del otro idioma de columna.

Aquí hay un fragmento con un ejemplo: https://codesandbox.io/s/polished-smoke-n6w6i?file=/src/App.js

Cualquier ayuda será muy apreciada. ¡Gracias de antemano!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La lógica es filtrar los elementos de idioma seleccionados por su id , no por su valor . La id se toma de los elementos de idioma predeterminados.

Así es como

 const searchByresourceId = (targetLng, selectedResources) => { // get the default language item id const ids = selectedResources.map(({languageResources}) => languageResources.map(({id}) => id)).flat(); return targetLng ?.map((item) => { const languageResources = item.languageResources.filter( (namespace) => ids.includes(namespace.id) ); return { ...item, languageResources }; }) .filter((item) => item.languageResources.length > 0); }

Y deberías cambiar la forma en que configuras el estado.

 const searchByresourceId = (targetLng, selectedResources) => { const ids = selectedResources.map(({languageResources}) => languageResources.map(({id}) => id)).flat(); return targetLng ?.map((item) => { const languageResources = item.languageResources.filter( (namespace) => ids.includes(namespace.id) ); return { ...item, languageResources }; }) .filter((item) => item.languageResources.length > 0); }

https://codesandbox.io/s/cranky-ellis-ccdhx?file=/src/App.js

El código no está optimizado, por supuesto, solo demostré la lógica.

over 4 years ago · Santiago Trujillo 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