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

154
Visualizações
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 Respostas
Responde à pergunta

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