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

80
Visualizações
arr.reduce muestra la longitud más corta en lugar de la longitud más larga

Seguí el código debajo de 3. Encuentra la palabra más larga con la fuente del método reduce ()

¿Por qué el resultado muestra 2 en lugar de 5? mi lógica de la siguiente manera:

  • más largo.longitud = 0 ("") > palabraActual.longitud = 5 (cómo) -> falso, salida 5
  • long.length = 5 (cómo) > palabraactual.length = 5 (fuund) -> false, salida 5 (fuund)
  • más largo.longitud = 5 (fondo) > palabraActual.longitud = 2 (se) -> verdadero, salida 5 (fondo)

 let arr = ['howss', 'fuund', 'se'] let longestLength = arr.reduce((longest, currentWord) => longest.length > currentWord.length ? longest.length : currentWord.length , "") console.log(longestLength)

Además, ¿cómo cambio la línea 97 para que comience desde la misma posición que la línea 92 en la imagen a continuación? el formato actualmente muestra que la línea 97 es parte de la línea 93. Sin embargo, el código funciona bien

línea 97 clasificada como parte de la línea 93

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

El acumulador en la función de reduce debe ser un number que represente la longitud de la palabra más larga hasta el momento, inicialmente establecido en cero:

 const arr = ['howss', 'fuund', 'se']; const longestLength = arr.reduce((longestLen, currentWord) => longestLen > currentWord.length ? longestLen : currentWord.length , 0); console.log(longestLength);

Si desea establecer como una string que representa la palabra más larga, primero deberá calcularla y luego obtener la length después de que finalice el bucle:

 const arr = ['howss', 'fuund', 'se']; const longestLength = arr.reduce((longestWord, currentWord) => longestWord.length > currentWord.length ? longestWord : currentWord , "").length; console.log(longestLength);

about 4 years ago · Juan Pablo Isaza Relatório

0

  1. Su valor inicial es una cadena vacía; debe ser cero para que pueda agregarle valores de longitud (el acumulador, el longest ) en cada iteración.

  2. No es necesario asignar la longitud de currentWord a la más longest.length ya que la longest es un valor único. Simplemente incremente el longest y devuélvalo para la próxima iteración.

 let arr = ['howss', 'fuund', 'se', 'guardian']; let longestLength = arr.reduce((longest, currentWord) => { if (currentWord.length > longest) { longest = currentWord.length; } return longest; }, 0); console.log(longestLength)

Honestamente, sin embargo, ni siquiera usaría reduce para esto.

 const arr = ['howss', 'fuund', 'se', 'guardian']; let len = 0; for (let el of arr) { if (el.length > len) len = el.length; } console.log(len);

about 4 years ago · Juan Pablo Isaza Relatório

0

Esto se debe a que está devolviendo una cadena vacía con cada iteración y la compara con el siguiente elemento. Lo que podría hacer es devolver la cadena más larga real y, en la iteración final, devolver su longitud;

 let arr = ['se', 'howss', 'fuund','test', "a"] let longestLength = arr.reduce((longest, currentWord, i, a) => ((longest = longest.length > currentWord.length ? longest : currentWord), i == a.length-1 ? longest.length : longest)) console.log(longestLength)

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