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

100
Visualizações
Necesita filtro negativo de matriz JS basado en otra matriz

Necesito ayuda para filtrar una matriz de Javascript para eliminar nombres que NO incluyan al menos una de una serie de letras enumeradas en una segunda matriz. Lo he intentado una y otra vez, usando combinaciones de filter(), y también bucles FOR anidados. EJEMPLO:

nombre = ["chuck","lina","wanda","denise","reggie","candy"];
letra = ["h","l","z","e"];

La matriz devuelta por filter() debería ser:
nombredos = ["wanda","caramelo"];

Es simple de explicar, pero simplemente no puedo hacer que funcione en el código. He encontrado muchos ejemplos de filter() aquí, pero ninguno me ha ayudado. ¡Gracias!

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

0

Básicamente la misma pregunta aquí

 const name = ["chuck","lina","wanda","denise","reggie","candy"]; const letter = ["h","l","z","e"]; const checker = value => !letter.some(element => value.includes(element)); console.log(name.filter(checker));

about 4 years ago · Juan Pablo Isaza Relatório

0

Para buscar letras dentro de una cadena, debe usar la función indexOf.

Si desea una solución de una línea, puede hacerlo de esta manera:

 const names = ["chuck","lina","wanda","denise","reggie","candy"]; const letters = ["h","l","z","e"]; const result = names.filter(name => letters.filter(letter => name.indexOf(letter) !== -1).length === 0); console.log(result)

Y puedes hacerlo usando dos ciclos:

 const names = ["chuck","lina","wanda","denise","reggie","candy"]; const letters = ["h","l","z","e"]; const result = []; for (let i = 0; i < names.length; i++) { let isContainLetter = false; for (let j = 0; j < letters.length; j++) { if (names[i].indexOf(letters[j]) !== -1) { isContainLetter = true; break; } } if (!isContainLetter) result.push(names[i]); } console.log(result)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede filtrar con every y verificar si el nombre no contiene letras.

 const names = ["chuck", "lina", "wanda", "denise", "reggie", "candy"], letters = ["h", "l", "z", "e"], result = names.filter(n => letters.every(l => !n.includes(l))); console.log(result); // ["wanda", "candy"]

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