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

111
Visualizações
¿Compara dos matrices de objetos y filtra valores de propiedades similares?

Estoy llamando a dos extremos de la API: el primero devolverá una serie de clientes cuya cuenta está actualmente activa con nosotros, y el segundo devolverá una serie de TODOS los clientes (actuales y pasados) independientemente de su estado actual.

Estoy creando un menú desplegable que básicamente agregará un cliente a la matriz de "cliente activo". Para crear este menú desplegable, necesito filtrar todos los clientes de la "matriz de todos los clientes" que ya existen en la "matriz de clientes activos".

P.ej:

TODOS los clientes

 [{name: "Martha", id: 1}, {name: "John", id: 2},{name: "Jane", id: 3}, {name: "Mary", id: 4}]

Clientes activos

 [{name: "John", customerid: 2}, {name: "Mary", customerid: 4}]

(Sí, el desarrollador de back-end les dio diferentes nombres de propiedad)

Mi nueva matriz obviamente debería ser:

 [{name: "Martha", id: 1}, {name: "Jane", id: 3}]

Puedo recorrer esta lista para completar el menú desplegable y solo enviar un cliente al backend que aún no tenga una cuenta activa con nosotros.

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

0

Si puede considerar que las identificaciones son únicas, entonces podría hacer algo como esto:

 function removeDuplicates(allClients, activeClients) { const activeClientIds = new Set( activeClients.map((client) => client.customerid) ); return allClients.filter((client) => !activeClientIds.has(client.id)); } const allClientsArr = [ { name: "Martha", id: 1 }, { name: "John", id: 2 }, { name: "Jane", id: 3 }, { name: "Mary", id: 4 }, ]; const activeClientsArr = [ { name: "John", customerid: 2 }, { name: "Mary", customerid: 4 }, ]; const result = removeDuplicates(allClientsArr, activeClientsArr); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar un .filter simple. Además, al resultado de su ejemplo le falta un elemento.

 const all = [{name: "Martha", id: 1}, {name: "John", id: 2},{name: "Jane", id: 3}, {name: "Mary", id: 4}] const old = [{name: "John", customerid: 2}, {name: "Mary", customerid: 4}]; const oldIds = old.map(customer => customer.customerid); console.log(all.filter(customer => !(customer.id in oldIds)))

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