Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

207
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!