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

223
Vistas
Iniciar sesión en la consola Reduce () devolviendo NaN

Esta función suma las longitudes de todos los elementos de la matriz y funciona devolviendo el valor final, pero al usar console.log se devuelve la longitud del primer elemento y NaN para el resto. ¿Por qué?

 function test(s) { return s.split(' ').reduce((a, b) => { console.log(a + b.length) }, 0); } console.log(test("aa aaa aaaa"));

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

0

Tu problema

a siempre tendrá el valor que se devuelve de la iteración anterior o el valor inicial 0 . Por lo tanto, en la primera iteración es 0 + b.length lo que da como resultado 2 . Pero luego no devuelve nada, por lo tanto, el tipo de retorno no está undefined . Por lo tanto, en la segunda iteración, tiene undefined + 2 , lo que da como resultado NaN y eso para todas las demás iteraciones. Como tampoco devuelve nada en la última iteración, el tipo de devolución en la última iteración no está undefined y su console.log() al final imprimirá undefined .

La solución

Debe return el valor para que se use en la próxima iteración.

 function test(s) { return s.split(' ').reduce((a, b) => { return a + b.length }, 0); } console.log(test("aa aaa aaaa"));
 .as-console-wrapper { max-height: 100% !important; top: 0; }

También puede quitar las llaves para una sintaxis más concisa:

 function test(s) { return s.split(' ').reduce((a, b) => a + b.length, 0); } console.log(test("aa aaa aaaa"));
 .as-console-wrapper { max-height: 100% !important; top: 0; }

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