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

180
Vistas
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 Respuestas
Responde la pregunta

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 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