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

191
Views
¿Cómo funciona realmente la función Reducir en JavaScript?

Estoy tratando de usar la función de reducción para encontrar la matriz de longitud máxima en las matrices , así que probé este enfoque al principio, pero no funcionó.

 const arrays = [[1],[3,3,4],[3,4],[4,5],[6]] let maxLength = arrays.reduce( (acc, cur) => { return acc.length > cur.length ? acc.length : cur.length }) console.log(maxLength) // output : 1

así que traté de obtener la longitud de otra manera y funcionó

 const arrays = [[1],[3,3,4],[3,4],[4,5],[6]] let maxLength = arrays.reduce( (acc, cur) => { return acc.length > cur.length ? acc : cur }).length console.log(maxLength) // output : 3

¿Alguien puede explicar cuál es la diferencia entre los dos enfoques?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Si está interesado en la longitud de la matriz más larga, almacene la longitud en el acumulador (como en el primer ejemplo); si está interesado en la matriz con la mayor longitud, almacene la matriz en el acumulador (como en el segundo ejemplo). Lo que no puedes hacer es mezclar y combinar.

Obtener la longitud de la matriz más larga

En este caso, debe proporcionar un valor inicial (por ejemplo, 0 ) para reduce() .

 const arrays = [[1],[3,3,4],[3,4],[4,5],[6]]; const max = arrays.reduce((a, {length}) => Math.max(a, length), 0); console.log(max);

Obtener matriz con la longitud más larga

En este caso, no es necesario que proporcione un valor inicial, ya que el valor predeterminado es el primer elemento de la matriz.

 const arrays = [[1],[3,3,4],[3,4],[4,5],[6]]; const max = arrays.reduce((a, v) => v.length > a.length ? v : a); console.log(max);

about 4 years ago · Juan Pablo Isaza Report

0

En el primer código, la función reduce devuelve un número, mientras que en el segundo devuelve una matriz. Cuando devuelve un número, la próxima vez que se llama a su función, toma la longitud de un número, no una matriz. El segundo código es correcto, porque estás tomando la longitud de una matriz cada vez.

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!