Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
Si no funciona según lo previsto, ¿hay algún problema con mi lógica?

Estoy tratando de recorrer una matriz y si hay elementos coincidentes, debería ser verdadero en una nueva matriz; de lo contrario, devolverá falso.

 const wordPerformance = [] const wordsReviewed = "candy, cattle, cat, call, cheat"; const wordsIncorrect = "candy, cattle, call, cheat"; wordsReviewed.split(/,\s?/).forEach((word) => { if (wordsIncorrect.includes(word)) { wordPerformance.push(false); } else { console.log(word) //unreachable, though 'cat' should be logged wordPerformance.push(true); } }); console.log(wordPerformance);

Según esta lógica, wordPerformance debería devolver

 [false, false, true, false, false]

sin embargo, está volviendo

 [false, false, false, false, false]

¿Quizás hay algo que no estoy viendo?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Primero debe dividir las wordsIncorrect Cadena incorrecta de la misma manera que lo hizo con las wordsReviewed para que se compare con el elemento y no incluya cadenas que tengan algo al final como hacer coincidir "gato" con "ganado".

Este es el ejemplo fijo.

 const wordPerformance = [] const wordsReviewed = "candy, cattle, cat, call, cheat"; const wordsIncorrect = "candy, cattle, call, cheat"; const wordsIncorrectSplitted = wordsIncorrect.split(/,\s?/); wordsReviewed.split(/,\s?/).forEach((word) => { if (wordsIncorrectSplitted.includes(word)) { wordPerformance.push(false); } else { console.log(word) //unreachable, though 'cat' should be logged wordPerformance.push(true); } }); console.log(wordPerformance);

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Denunciar

0

También se está olvidando de dividir su cadena de palabras incorrectas en una matriz. En este momento, está comprobando si la cadena incluye la palabra en lugar de una matriz. Como resultado, String.includes lleva a cabo la coincidencia de patrones en toda la cadena en lugar de elementos individuales. Dado que cada palabra incorrecta incluye el patrón cat en ellas, pensará que gato está incluido y devolverá falso:

 const wordPerformance = [] const wordsReviewed = "candy, cattle, cat, call, cheat"; const wordsIncorrect = "candy, cattle, call, cheat"; wordsReviewed.split(/,\s?/).forEach((word) => { if (wordsIncorrect.split(/,\s?/).includes(word)) { //split incorrectWords wordPerformance.push(false); } else { console.log(word) //unreachable, though 'cat' should be logged wordPerformance.push(true); } }); console.log(wordPerformance);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Necesita dividir wordsIncorrect también. if (wordsIncorrect.split(",").includes(word))

Producción:

 cat [ false, false, true, false, false ]
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda