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ícateEl 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:
Acumulador: es la variable donde se almacenará el valor acumulado a lo largo de la ejecución de la función reductora.
Elemento actual: es el elemento actual del array que está siendo procesado.
Índice actual: es el índice del elemento actual en el array.
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.
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
Polimorfismo
Array
Transformación con map()
Introducción a JavaScript
Gestor de tareas con JavaScript
Manipulación DOM
Funciones
Funciones flecha
Async / Await
Creación y uso de variables
Excepciones
Promises
Funciones cierre (closure)
Herencia
Herencia
Estructuras de control
Selección de elementos DOM
Modificación de elementos DOM
Filtrado con filter() y find()
Funciones cierre (closure)
Funciones
Mapas con Map
Reducción con reduce()
Callbacks
Manipulación DOM
Promises
Async / Await
Eventos del DOM
Async / Await
Promises
Filtrado con filter() y find()
Callbacks
Creación de clases y objetos Restaurante
Reducción con reduce()
Filtrado con filter() y find()
Reducción con reduce()
Conjuntos con Set
Herencia de clases
Eventos del DOM
Clases y objetos
Modificación de elementos DOM
Mapas con Map
Funciones
Tipos de datos
Clases y objetos
Array
Conjuntos con Set
Array
Encapsulación
Clases y objetos
Uso de operadores
Uso de operadores
Estructuras de control
Excepciones
Transformación con map()
Funciones flecha
Selección de elementos DOM
Encapsulación
Mapas con Map
Creación y uso de variables
Polimorfismo
Tipos de datos
Estructuras de control
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.
Introducción A Javascript
Sintaxis
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Cierre (Closure)
Sintaxis
Funciones Flecha
Programación Funcional
Filtrado Con Filter() Y Find()
Programación Funcional
Transformación Con Map()
Programación Funcional
Reducción Con Reduce()
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Array
Estructuras De Datos
Conjuntos Con Set
Estructuras De Datos
Mapas Con Map
Estructuras De Datos
Manipulación Dom
Dom
Selección De Elementos Dom
Dom
Modificación De Elementos Dom
Dom
Eventos Del Dom
Dom
Callbacks
Programación Asíncrona
Promises
Programación Asíncrona
Async / Await
Programación Asíncrona
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
- Entender el propósito y uso del método
reduce()
en JavaScript. - Conocer la sintaxis del método
reduce()
y cómo se aplica a un array. - Aprender a definir funciones reductoras que operen sobre los elementos del array y acumulen resultados.
- Comprender el concepto de acumulador y cómo se utiliza en la función reductora.
- Saber cómo proporcionar un valor inicial para el acumulador y cómo afecta el proceso de reducción.
- Conocer ejemplos prácticos de uso del método
reduce()
para calcular sumas, productos, promedios y conteos de elementos en un array. - Comprender la flexibilidad y utilidad del método
reduce()
para adaptarse a diferentes casos de uso en el procesamiento de arrays.