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

119
Visualizações
¿Cómo filtro una matriz mientras excluyo condiciones específicas?

Tengo un botón que estoy deshabilitando al leer una matriz y verificar sus propiedades.

Mi matriz se ve así:

 const arr = [ {id: '1', name: 'SOME_THING', status: 'AGREED'}, {id: '2', name: 'THIS_THING', status: 'AGREED'}, {id: '3', name: 'OTHER_THING', status: 'AGREED'}, {id: '4', name: 'EVERY_THING', status: 'AGREED'}, ];

Mi lógica actual para deshabilitar/habilitar este botón se ve así:

 arr.filter((item) => item.indexOf('THING') > -1) .every((item) => item.status === 'AGREED')

Ahora mis requisitos han cambiado. Quiero habilitar/deshabilitar el botón de la misma manera, pero quiero EXCLUIR elementos específicos de esta matriz. Por ejemplo, quiero excluir estos dos elementos:

 {id: '2', name: 'THIS_THING', status: 'AGREED'}, {id: '3', name: 'OTHER_THING', status: 'AGREED'},

Usando mi lógica, ¿cómo filtro mi matriz mientras EXCLUYO estos dos?

Me doy cuenta de que puedo intentar eliminar estos elementos específicos, pero me preguntaba si había una forma potencialmente más limpia de hacerlo sin una eliminación explícita.

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

0

Puede excluir una lista de elementos asumiendo siempre que el par clave/valor dado es verdadero, independientemente del valor.

 const exclusionList = ['THIS_THING', 'OTHER_THING']; arr.filter((item) => item.indexOf('THING') > -1) .every((item) => item.status === 'AGREED' || exclusionList.includes(item.name))
about 4 years ago · Juan Pablo Isaza Relatório

0

También agregue su nombre clave (nombre) donde usa indexOf

 let arr = [ {id: '1', name: 'SOME_THING', status: 'AGREED'}, {id: '2', name: 'THIS_THING', status: 'AGREED'}, {id: '3', name: 'OTHER_THING', status: 'AGREED'}, {id: '4', name: 'EVERY_THING', status: 'AGREED'}, ]; const list = ['THIS_THING', 'OTHER_THING']; console.log(arr.filter((item) => item.name.indexOf('THING') > -1).every((user) => user.status === 'AGREED' || list.some(user.name)))
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