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

73
Visualizações
filtrar una matriz de objetos si las propiedades están en otra matriz y los valores son verdaderos

El siguiente es un ejemplo que produce el resultado deseado.

 const data = [ { itemID: '300', status: 'active', inventoryFlag: true, certifiedFlag: false, donateFlag: true }, { itemID: '400', status: 'inactive', inventoryFlag: true, certifiedFlag: true, donateFlag: false }, { itemID: '500', status: 'active', inventoryFlag: false, certifiedFlag: false, donateFlag: false }, { itemID: '600', status: 'active', inventoryFlag: false, certifiedFlag: true, donateFlag: true }, { itemID: '700', status: 'inactive', inventoryFlag: false, certifiedFlag: true, donateFlag: false } ]; document.getElementById("data").innerText = JSON.stringify(data.filter(o => o.inventoryFlag || o.donateFlag));
 <textarea id="data" rows="50" cols="100"></textarea>

Estoy tratando de encontrar una manera de enumerar las banderas filtradas en una matriz separada y luego usar eso en .filter() de alguna manera para obtener el mismo conjunto de resultados que el código anterior.

Por ejemplo, estas son las banderas que se usarán para filtrar Y al menos uno de los valores debe ser verdadero en el objeto que se incluirá en el conjunto de datos final:

 const flags = ['inventoryFlag', 'donateFlag'];

Para empezar, probé esto pero no hizo nada:

 const filteredData = data.filter(o => flags.includes(Object.keys(o)));
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Dentro del filter , use el método some para detectar si alguna de las claves de propiedad de una entrada, que están contenidas en la matriz de flags , tiene el valor de true .

 const data = [ { itemID: '300', status: 'active', inventoryFlag: true, certifiedFlag: false, donateFlag: true }, { itemID: '400', status: 'inactive', inventoryFlag: true, certifiedFlag: true, donateFlag: false }, { itemID: '500', status: 'active', inventoryFlag: false, certifiedFlag: false, donateFlag: false }, { itemID: '600', status: 'active', inventoryFlag: false, certifiedFlag: true, donateFlag: true }, { itemID: '700', status: 'inactive', inventoryFlag: false, certifiedFlag: true, donateFlag: false } ]; const flags = ['inventoryFlag', 'donateFlag']; const result = data.filter(entry => flags.some(flag => entry[flag] === true) ); console.log(result);

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