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

280
Visualizações
Comparación de dos matrices: eliminación de elementos de la matriz en función de las claves de objeto

Tengo dos objetos.

 const arrayOne = [ { label: "Categories", to: "/categories", id: "product_type", }, { label: "Colors", to: "/colors", id: "color", }, { label: "Materials", to: "/materials", id: "material", }, { label: "Sizes", to: "/sizes", id: "sizes", }, { label: "Designers", to: "/designers", id: "designer_slug", }, { label: "Stores", to: "/stores", id: "retailer_slug", }, ]; const arrayTwo = [ { id: "gender", label: "Gender", lazy_loaded: false, }, { id: "product_type", label: "Category", lazy_loaded: false, }, { id: "quick_filters", label: "Quick filters", lazy_loaded: false, }, { id: "final_price", label: "Price", lazy_loaded: false, }, { id: "color", label: "Color", lazy_loaded: false, }, { id: "material", label: "Material", lazy_loaded: false, }, { id: "designer_slug", label: "Brand", lazy_loaded: true, }, { id: "retailer_slug", label: "Store", lazy_loaded: true, }, ];

Como puede ver, ambos tienen la clave 'id'. Si los ID en arrayOne no están en arrayTwo, me gustaría que se eliminen de arrayOne (el objeto completo). Entonces, en este caso, solo el objeto con "tamaños" debe eliminarse de arrayOne. ¿Cómo haría para hacer esto? ¡Gracias por adelantado!

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

0

podrías utilizar el filter :

 const newArrayOne = arrayOne.filter(x => arrayTwo.find(y => y.id === x.id))
about 4 years ago · Juan Pablo Isaza Relatório

0

Podría usar un Set con id y filtrar la otra matriz.

 const arrayOne = [{ label: "Categories", to: "/categories", id: "product_type" }, { label: "Colors", to: "/colors", id: "color" }, { label: "Materials", to: "/materials", id: "material" }, { label: "Sizes", to: "/sizes", id: "sizes" }, { label: "Designers", to: "/designers", id: "designer_slug" }, { label: "Stores", to: "/stores", id: "retailer_slug" }], arrayTwo = [{ id: "gender", label: "Gender", lazy_loaded: false }, { id: "product_type", label: "Category", lazy_loaded: false }, { id: "quick_filters", label: "Quick filters", lazy_loaded: false }, { id: "final_price", label: "Price", lazy_loaded: false }, { id: "color", label: "Color", lazy_loaded: false }, { id: "material", label: "Material", lazy_loaded: false }, { id: "designer_slug", label: "Brand", lazy_loaded: true }, { id: "retailer_slug", label: "Store", lazy_loaded: true }], two = new Set(arrayTwo.map(({ id }) => id)), result = arrayOne.filter(({ id }) => two.has(id)); console.log(result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

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