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

110
Vistas
¿Comparando la longitud de las cadenas en una matriz?

Hola, estoy tratando de comparar la longitud de cada palabra en una oración. Convertí esta oración en una matriz, pero luego me perdí en mis códigos. Probé 2 métodos: for loop y reduce(), pero ninguno funcionó. ¿Qué pasó en mi código?

Reduce() => Este me dio indefinido cuando intento ejecutar la función. Deduje que se debe a max.length/word.length, pero ¿cómo puedo convertir mi cadena en longitud usando reduce()?

 function findLongestWordLength(str) { let brokenDown = str.split(' ') brokenDown.reduce((max, word) => { return Math.max(max.length, word.length) }) } findLongestWordLength("The quick brown fox jumped over the lazy dog");

For loop => Este me dio la longitud de la primera palabra en lugar de maxLength. Supongo que probablemente porque mi var strLength no es una matriz, pero ¿cómo convertirla en una matriz que contenga la longitud de cada índice?

 function findLongestWordLength(str) { let brokenDown = str.split(' ') for(let i = 0; i < brokenDown.length; i++) { var strLength = brokenDown[i].length } return Math.max(strLength) } findLongestWordLength("The quick brown fox jumped over the lazy dog");

Sé que esto debería ser muy básico y simple y no puedo entender qué salió mal aquí.

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

0

 const maxLength = (str) => { const words = str.split(' '); const lengths = words.map((word) => word.length); return Math.max(...lengths); } console.log(maxLength('The quick brown fox jumped over the lazy dog'));

about 4 years ago · Juan Pablo Isaza Denunciar

0

En el segundo enfoque que publicó, no está configurando el máximo correctamente. Está configurando una variable llamada strLength , pero su Math.max está fuera del ciclo. Por lo tanto, nunca obtendrá el valor máximo a menos que sea la última palabra de la matriz.

 function findLongestWordLength(str) { let brokenDown = str.split(' ') let mxLen = 0 for(let i = 0; i < brokenDown.length; i++) { mxLen = Math.max(mxLen, brokenDown[i].length); } return mxLen }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si desea utilizar el enfoque de Math.max , primero extraiga las longitudes de cada palabra y luego páselas a Math.max .

 function findLongestWordLength(str) { let brokenDown = str.split(' ') let lengths = brokenDown.map(word => word.length); return Math.max(...lengths); } console.log(findLongestWordLength("The quick brown fox jumped over the lazy dog"));


Si desea utilizar el enfoque for , tendrá que mantener una longitud máxima durante el bucle y actualizarla a medida que el bucle encuentre palabras más largas.

 function findLongestWordLength(str) { let brokenDown = str.split(' ') let maxLength = 0; for (let i = 0; i < brokenDown.length; i++) { const wordLength = brokenDown[i].length; if (wordLength > maxLength) { maxLength = wordLength; } } return maxLength; } console.log(findLongestWordLength("The quick brown fox jumped over the lazy dog"));

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