JavaScript

JavaScript

Tutorial JavaScript: Reducción con reduce()

JavaScript reduce: uso en arrays y ejemplos. Aprende a usar reduce en arrays de JavaScript con ejemplos prácticos y detallados.

Aprende JavaScript GRATIS y certifícate

El método reduce() en JavaScript es una función de los arrays que permite ejecutar una función reductora para cada elemento del array, acumulando el resultado en un único valor. Esta función se utiliza principalmente para realizar operaciones de acumulación y transformación de datos en arrays de manera eficiente y elegante.

La función reductora es una función que se proporciona como argumento al método reduce() y se ejecuta para cada elemento del array, recibiendo cuatro argumentos:

  1. Acumulador: es la variable donde se almacenará el valor acumulado a lo largo de la ejecución de la función reductora.

  2. Elemento actual: es el elemento actual del array que está siendo procesado.

  3. Índice actual: es el índice del elemento actual en el array.

  4. Array: es el array sobre el cual se ejecuta el método reduce().

La función reduce() acepta dos argumentos: la función reductora mencionada anteriormente y un valor inicial para el acumulador. Si no se proporciona el valor inicial, el método reduce() toma como valor inicial el primer elemento del array y empieza a procesar desde el segundo elemento.

const numeros = [1, 2, 3, 4, 5];

// Calcular la suma de los elementos del array
const suma = numeros.reduce((acumulador, elementoActual) => {
  return acumulador + elementoActual;
}, 0);

console.log(suma); // 15

En este ejemplo, la función reductora es una función anónima de flecha (arrow function) que recibe el acumulador y el elemento actual del array, y devuelve la suma de ambos. El valor inicial para el acumulador es 0. Al final de la ejecución, el método reduce() devuelve la suma total de los elementos del array.

Algunos otros ejemplos de uso comunes del método reduce():

  • Calcular el producto de los elementos de un array:
const numeros = [1, 2, 3, 4, 5];

const producto = numeros.reduce((acumulador, elementoActual) => {
  return acumulador * elementoActual;
}, 1);

console.log(producto); // 120
  • Calcular el promedio de los elementos de un array:
const numeros = [1, 2, 3, 4, 5];

const promedio = numeros.reduce((acumulador, elementoActual, indiceActual, array) => {
  acumulador += elementoActual;
  // Al alcanzar el último elemento, dividir por el número de elementos
  return indiceActual === array.length - 1 ? acumulador / array.length : acumulador;
}, 0);

console.log(promedio); // 3
  • Crear un objeto que cuente la cantidad de elementos repetidos en un array:
const frutas = ['manzana', 'banana', 'manzana', 'naranja', 'banana', 'naranja', 'manzana'];

const conteoFrutas = frutas.reduce((acumulador, elementoActual) => {
  // Si el objeto ya contiene este elemento aumentar su valor en 1, si no, inicializar a 0 y aumentar su valor en 1
  acumulador[elementoActual] = (acumulador[elementoActual] || 0) + 1;
  return acumulador;
}, {});

console.log(conteoFrutas); // {manzana: 3, banana: 2, naranja: 2}

En conclusión, el método reduce() en JavaScript es una herramienta poderosa y versátil que simplifica y optimiza el proceso de realizar operaciones acumulativas y transformaciones en arrays. A través de una función reductora personalizada y un valor inicial, es posible ejecutar este método adaptándolo a diferentes casos de uso y aprovechar sus ventajas para mantener un código limpio y eficiente.

Aprende JavaScript GRATIS online

Ejercicios de esta lección Reducción con reduce()

Evalúa tus conocimientos de esta lección Reducción con reduce() con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Funciones flecha

JavaScript
Puzzle

Polimorfismo

JavaScript
Test

Array

JavaScript
Código

Transformación con map()

JavaScript
Test

Introducción a JavaScript

JavaScript
Test

Gestor de tareas con JavaScript

JavaScript
Proyecto

Manipulación DOM

JavaScript
Test

Funciones

JavaScript
Test

Funciones flecha

JavaScript
Código

Async / Await

JavaScript
Código

Creación y uso de variables

JavaScript
Test

Excepciones

JavaScript
Puzzle

Promises

JavaScript
Código

Funciones cierre (closure)

JavaScript
Test

Herencia

JavaScript
Puzzle

Herencia

JavaScript
Test

Estructuras de control

JavaScript
Código

Selección de elementos DOM

JavaScript
Test

Modificación de elementos DOM

JavaScript
Test

Filtrado con filter() y find()

JavaScript
Test

Funciones cierre (closure)

JavaScript
Puzzle

Funciones

JavaScript
Puzzle

Mapas con Map

JavaScript
Test

Reducción con reduce()

JavaScript
Test

Callbacks

JavaScript
Puzzle

Manipulación DOM

JavaScript
Puzzle

Promises

JavaScript
Test

Async / Await

JavaScript
Test

Eventos del DOM

JavaScript
Puzzle

Async / Await

JavaScript
Puzzle

Promises

JavaScript
Puzzle

Filtrado con filter() y find()

JavaScript
Código

Callbacks

JavaScript
Test

Creación de clases y objetos Restaurante

JavaScript
Código

Reducción con reduce()

JavaScript
Código

Filtrado con filter() y find()

JavaScript
Puzzle

Reducción con reduce()

JavaScript
Puzzle

Conjuntos con Set

JavaScript
Puzzle

Herencia de clases

JavaScript
Código

Eventos del DOM

JavaScript
Test

Clases y objetos

JavaScript
Puzzle

Modificación de elementos DOM

JavaScript
Puzzle

Mapas con Map

JavaScript
Puzzle

Funciones

JavaScript
Código

Tipos de datos

JavaScript
Test

Clases y objetos

JavaScript
Test

Array

JavaScript
Test

Conjuntos con Set

JavaScript
Test

Array

JavaScript
Puzzle

Encapsulación

JavaScript
Puzzle

Clases y objetos

JavaScript
Código

Uso de operadores

JavaScript
Puzzle

Uso de operadores

JavaScript
Test

Estructuras de control

JavaScript
Test

Excepciones

JavaScript
Test

Transformación con map()

JavaScript
Puzzle

Funciones flecha

JavaScript
Test

Selección de elementos DOM

JavaScript
Puzzle

Encapsulación

JavaScript
Test

Mapas con Map

JavaScript
Código

Creación y uso de variables

JavaScript
Puzzle

Polimorfismo

JavaScript
Puzzle

Tipos de datos

JavaScript
Puzzle

Estructuras de control

JavaScript
Puzzle

Todas las lecciones de JavaScript

Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a JavaScript y certifícate

Certificados de superación de JavaScript

Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Entender el propósito y uso del método reduce() en JavaScript.
  2. Conocer la sintaxis del método reduce() y cómo se aplica a un array.
  3. Aprender a definir funciones reductoras que operen sobre los elementos del array y acumulen resultados.
  4. Comprender el concepto de acumulador y cómo se utiliza en la función reductora.
  5. Saber cómo proporcionar un valor inicial para el acumulador y cómo afecta el proceso de reducción.
  6. Conocer ejemplos prácticos de uso del método reduce() para calcular sumas, productos, promedios y conteos de elementos en un array.
  7. Comprender la flexibilidad y utilidad del método reduce() para adaptarse a diferentes casos de uso en el procesamiento de arrays.