Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
¿Por qué esta implementación de JavaScript para encontrar la palabra más grande devuelve TypeError: no se pueden leer las propiedades de undefined (leyendo 'longitud')

¿Por qué el siguiente código devuelve el error? str es definitivamente una cadena, por lo que no está indefinida. words es una matriz, por lo que llamar a .length también debería ser válido. ¿Qué tiene de malo esta implementación?

TypeError: no se pueden leer las propiedades de undefined (leyendo 'longitud')

 function findLongestWordLength(str) { let words = str.split(" "); let longword = words[0]; for(let i = 0; words.length <= terminal; i++){ if(words[i].length >= longword.length){ longword = words[i] } } let longwordlength = longword.length; return longwordlength; } findLongestWordLength("The quick brown fox jumped over the lazy dog"); // why is this giving the error: TypeError: Cannot read properties of undefined (reading 'length')
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su condición for es incorrecta. Debería ser si i es más pequeño que el número de palabras, ya que está iterando a través de cada palabra:

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

Sin embargo, una forma mucho más fácil de realizar esta tarea es dividir la cadena por un espacio, mapear las palabras y obtener la longitud de cada palabra, luego usar Math.max y extender la sintaxis para obtener el elemento más grande:

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

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda