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

199
Visualizações
Cómo filtrar una matriz de objetos que se almacenan solo una vez para cada elemento coincidente

Estoy trabajando con Javascript y tengo la siguiente matriz de objetos:

 const offersStep = [ {a: 1, price: 67.10}, {a: 3, price: 88.20}, {a: 5, price: 88.20}, {a: 7, price: 57.10}, {a: 13, price: 57.10}, {a: 15, price: 57.10}, {a: 29, price: 57.10}, {a: 30, price: 57.10}, ]

¿Qué y cómo tengo que hacer, para almacenar en una nueva matriz , esos objetos, ignorando aquellos cuyo price de utilería tiene un valor que ya está almacenado en la nueva matriz?

Rendimiento esperado:

 offers = [ {a: 1, price: 67.10}, {a: 3, price: 88.20}, {a: 7, price: 57.10} ]
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puede almacenar los objetos en un mapa descifrado de su price . Después de haber almacenado precios únicos, distribuya el iterador de valores () del Mapa en una nueva matriz para obtener su resultado.

 const offersStep = [ {a: 1, price: 67.10}, {a: 3, price: 88.20}, {a: 5, price: 88.20}, {a: 7, price: 57.10}, {a: 13, price: 57.10}, {a: 15, price: 57.10}, {a: 29, price: 57.10}, {a: 30, price: 57.10}, ]; function filterOffers(offers) { let offersByPrice = new Map(); for (let offer of offers) { if (!offersByPrice.has(offer.price)) { // Store the offer offersByPrice.set(offer.price, offer); } } return [...offersByPrice.values()]; } console.log(filterOffers(offersStep));

about 4 years ago · Juan Pablo Isaza Relatório

0

Ocurrencia

Filtre la matriz original, controlando los precios encontrados hasta el momento por medio de un conjunto.

Código

 const offersStep = [ {a: 1, price: 67.10}, {a: 3, price: 88.20}, {a: 5, price: 88.20}, {a: 7, price: 57.10}, {a: 13, price: 57.10}, {a: 15, price: 57.10}, {a: 29, price: 57.10}, {a: 30, price: 57.10} ]; let offer , nset_prices = new Set() ; offer = offersStep.filter ( po_item => { let b_ok = !nset_prices.has(po_item.price) ; if (b_ok) { nset_prices.add(po_item.price) } return b_ok; }); console.log(offer);

about 4 years ago · Juan Pablo Isaza Relatório

0

¡Déjame si el código te funciona!

 const offersStep = [ { a: 1, price: 67.1 }, { a: 3, price: 88.2 }, { a: 5, price: 88.2 }, { a: 7, price: 57.1 }, { a: 13, price: 57.1 }, { a: 15, price: 57.1 }, { a: 29, price: 57.1 }, { a: 30, price: 57.1 }, ]; let tempOffers = {}; offersStep.forEach((eachObj) => { const { price } = eachObj; if (!tempOffers[price]) { tempOffers[price] = eachObj; } }); const offers = Object.values(tempOffers); console.log("offers are", offers);

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