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

432
Views
Encontrar la palabra más larga en un código javascript de cadena que no funciona en la última palabra

Ya resolví esto usando una función de división, pero todavía estoy confundido en cuanto a por qué mi código anterior de solo bucle no funciona cuando intento encontrar la palabra más larga en una cadena en javascript. Se supone que la función que estoy escribiendo devuelve el número de letras de la palabra más larga. Después de usar la consola, cada vez que uso solo una palabra, devuelve el valor con el que inicialicé el contador de letras (que es 0). Si la palabra más larga es la última palabra, devuelve la segunda palabra más larga de las palabras anteriores. Si la palabra más larga está en cualquier lugar excepto en la última palabra, el resultado es exacto. Parece que tiene problemas para contar las letras de la última palabra. Aquí está mi código.

 let lettCount = 0; let largest = 0; let spaceCheck = /\s/; for(let i = 0; i < str.length; i++) { if(spaceCheck.test(str[i]) == true) { if(lettCount > largest) { largest = lettCount; } lettCount = 0; } else { lettCount++; } } return largest;
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Debería poder simplificar la lógica aquí significativamente, usando String.split() y Math.max() .

Dividimos la cadena en una matriz, luego usamos Array.map() para obtener la longitud de cada palabra, luego usamos Math.max() junto con la sintaxis Spread para obtener la palabra más larga.

 let str = 'the longest word is dinosaur'; function getLongest(str) { return Math.max(...str.split(/\s/).map(s => s.length)); } console.log('Longest word:', getLongest(str));

También puedes hacer esto con String.split() y Array.reduce() , esto es incluso un poco más simple:

 let str = 'the longest word is dinosaur'; function getLongest(str) { return str.split(/\s/).reduce((acc,s) => s.length > acc ? s.length: acc, 0); } console.log('Longest word:', getLongest(str));

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!