LECCIÓN 37 / 60 · Datos y errores

Suma los elementos de un array con reduce

Al terminar, podrás: reunir los números de una lista en una sola suma

Ampliación opcionalJavaScript

Conviene conocer: Lección 11 · Lee un elemento de un array · Lección 24 · Escribe una función flecha

La idea clave

Para sumar una lista puedes usar un bucle. reduce reúne sus elementos en un único resultado usando un acumulador. Es una ampliación: no tendrás que conocerla para continuar el curso.

Ejemplo paso a paso

Este ejemplo muestra la idea en acción. Sigue los pasos y después cámbialo tú.

Ejemplo explicado
const precios = [4, 7, 3];
const suma = precios.reduce((total, precio) => total + precio, 0);
console.log(suma);
  1. El acumulador total comienza en 0, el último argumento de reduce.
  2. En cada vuelta se añade uno de los precios: 4, después 7 y después 3.
  3. Al terminar se obtiene un único número: 14.

Practica con código

Antes de empezar, piensa: ¿Por qué el resultado final es 14?

Añade otro precio de 6 al array y vuelve a calcular la suma.

El resultado que buscamos

El resultado de la consola debe ser 20.

JAVASCRIPT Practica aquí
Tu misión

Añade otro precio de 6 al array y vuelve a calcular la suma.

Consola
Lista para ejecutar.
Sin comprobar
Escribe tu cambio y pulsa «Comprobar solución». Puedes intentarlo tantas veces como quieras.
Listo
Necesito una pista

Agrega el número 6 dentro del array precios.

Una pista más

No cambies la función de reduce: recorre el nuevo elemento por sí sola.

Ver solución y explicación

const precios = [4, 7, 3, 6]; La suma será 20.

Qué debes recordar: reduce puede acumular varios valores en una sola suma comenzando desde cero.

Comprueba lo que has aprendido

Resuelve un reto con otras entradas. Intenta escribir la función antes de abrir las pistas; las pruebas te mostrarán qué revisar.

Práctica pendiente de corregir

La lectura, las prácticas corregidas y las autoevaluaciones guiadas se guardan por separado en este navegador.

Revisado editorialmente · Referencia técnica específica ↗