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

149
Vistas
Tengo dos matrices, con los mismos valores en la primera matriz que en los campos de ID de la segunda matriz

Lo que quiero lograr es tener una tercera matriz con una salida vista en la parte inferior de otras dos matrices.

Ahora, la clave aquí es que es básicamente un filtro basado en las coincidencias de la matriz Object.keys de la matriz asignada. Lo que significa que cualquier identificación que exista en la matriz asignada y la matriz Object.keys debe ir a la tercera matriz.

Cuanto más pienso, más parece que necesito hacer un filtro en la matriz mapeada, solo que no estoy 100% seguro de cómo lograrlo correctamente. Acabo de probar un filtro que ahora se ve a continuación y devuelve una matriz vacía.

También intenté usar un índice de búsqueda para encontrar las identificaciones coincidentes, pero no parece encontrar coincidencias.

Cualquier ayuda sería muy apreciada

gracias amablemente

 const mapped = data.allProduct.map((item: any) => ({ slug: item.slug.current, id: item.stripeId, })); // What I have tried const foundMapped = mapped.findIndex( (element: any, index: any) => element.id === Object.keys(cartDetails)[index] ); const test = mapped.filter( (item: any, index: any) => item.id === Object.keys(cartDetails)[index] );

esto es Object.keys(cartDetails)

 [ "price_1KhMhhF2lAt0poJW42giHxDs", "price_1KVisMF2lAt0poJWnd9LGheT", "price_1KVisMF2lAt0poJWnd9fkfkf", ]

esta es una variable mapeada desde arriba

 [ { "slug": "the-void", "id": "price_1KVisMF2lAt0poJWnd9LGheT" }, { "slug": "magic-wonders-artwork", "id": "price_1KhMhhF2lAt0poJW42giHxDs" }, { "slug": "other-two", "id": "price_1KVisMF2lAt0poJWnd9fkfkf" }, { "slug": "test-test", "id": "price_1KVisMF2lAt0poJWnd9fjff" } ]

Tercera matriz de salida

 [ { id: "price_1KhMhhF2lAt0poJW42giHxDs", slug: "the-void" }, { id: "price_1KVisMF2lAt0poJWnd9LGheT", slug: "magic-wonders-artwork" }, { id: "price_1KVisMF2lAt0poJWnd9fkfkf", slug: "other-two" }, ]
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

solo tengo que verificar si la id está en la matriz de claves en su predicado de filter :

 const keys = Object.keys(cartDetails); const toFilter = data.allProduct.map((item: any) => ({ slug: item.slug.current, id: item.stripeId, })); const filtered = toFilter.filter(i => keys.includes(i.id))

aunque no estoy seguro de por qué no omitiría las claves de objeto para el mapeo de matriz y simplemente verificaría el objeto original, que es más eficiente que verificar si un elemento está en una matriz:

 const filtered = toFilter.filter(i => !!cartDetails[i.id])

o

 const filtered = toFilter.filter(i => cartDetails[i.id] !== undefined)

si cartDetails puede / podría incluir valores falsos válidos como 0, cadena vacía o falso

about 4 years ago · Juan Pablo Isaza 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