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

73
Views
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 answers
Answer question

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 Report

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 Report

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 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!