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

232
Views
La única palabra que no pasa la prueba es "casi tomla".

Estoy aprendiendo JS en freecodecamp y estoy atascado en un problema. Estoy creando un corrector palíndromo. Mi código casi funciona. Sin embargo, solo hay una palabra que no pasa la prueba y es Almostomla. No es un palíndromo, pero mi código devuelve verdadero. He probado varias cosas. Incluso reescribió el código y usó el bucle while, pero nada parece ayudar. Hay una solución en la web de freeCodecamp, pero he escrito el código de otra manera y no puedo descifrar mi error.

Aquí está mi código.

 let reversedStr = []; function palindrome(str) { let d = str.replace(/[^a-zA-Z0-9]/g, "").toLowerCase(); for (let i = d.length - 1; i >= 0; i--) { reversedStr.push(d[i]); } for (let j = 0; j < str.length; j++) { if (reversedStr[j] == d[j]) { return true; } else { return false; } } } console.log(palindrome("almostomla"));

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Esta línea if (reversedStr[j] == d[j]) {return true; regresa tan pronto como el carácter coincide tanto en el índice. No comprueba el resto de los caracteres.

De hecho, puede regresar tan pronto como el carácter en ambos índices no coincida.

También tenga en cuenta que la reversedStr tiene que estar dentro de la función. De lo contrario, contendrá valores anteriores.

 function palindrome(str) { let reversedStr = []; let d = str.replace(/[^a-zA-Z0-9]/g, "").toLowerCase(); for (let i = d.length - 1; i >= 0; i--) { reversedStr.push(d[i]); } for (let j = 0; j < str.length; j++) { if (reversedStr[j] !== d[j]) { return false; } } return true } console.log(palindrome("almostomla")); console.log(palindrome("1221"));

about 4 years ago · Juan Pablo Isaza Report

0

Su código devuelve "verdadero" o "falso" después de la primera coincidencia: comprueba que 'a' es igual a 'a' y devuelve verdadero.

Puede devolver "falso" desde el interior del ciclo solo si encontró una letra duplicada; de lo contrario, devolverá verdadero después de que finalice el ciclo.

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!