ETZADEV
Métodos de reducción y acumulación
Compartir

Métodos de reducción y acumulación

¡Bienvenido a esta penúltima publicación sobre los métodos de arrays! En este artículo, exploraremos los métodos de reducción y acumulación. Estos métodos te permiten transformar un array en un único valor utilizando una función acumulativa.

Métodos de reducción y acumulación

Array.prototype.reduce()

El método reduce() ejecuta una función reductora sobre cada elemento del array (de izquierda a derecha), resultando en un único valor de salida.

Sintaxis

snippet.js
1arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue]);

Parámetros que recibe

  • callback: Función que se ejecuta para cada elemento, recibiendo cuatro argumentos:
    • accumulator: El acumulador que guarda el resultado de la función reductora.
    • currentValue: El valor actual del elemento que se está procesando.
    • index: El índice del elemento actual.
    • array: El array sobre el cual se itera.
  • initialValue: Valor a usar como el primer argumento accumulator en la primera llamada de la función callback (opcional).

Valor que retorna

El valor resultante de la reducción.

Ejemplo

snippet.js
1let array = [1, 2, 3, 4, 5];
2let sum = array.reduce(
3 (accumulator, currentValue) => accumulator + currentValue,
4 0
5);
6console.log(sum); // Salida: 15

En este ejemplo:

  • El array original es [1, 2, 3, 4, 5].
  • snippet.txt
    1array.reduce((accumulator, currentValue) => accumulator + currentValue, 0)
    suma todos los elementos del array, devolviendo 15.

Notas Adicionales

  • El método reduce() no modifica el array original.
  • El método reduce() es útil para realizar operaciones acumulativas, como suma, producto o concatenación de elementos de un array.

Array.prototype.reduceRight()

El método reduceRight() ejecuta una función reductora sobre cada elemento del array (de derecha a izquierda), resultando en un único valor de salida.

Sintaxis

snippet.js
1arr.reduceRight(callback(accumulator, currentValue[, index[, array]])[, initialValue]);

Parámetros que recibe

  • callback: Función que se ejecuta para cada elemento, recibiendo cuatro argumentos:
    • accumulator: El acumulador que guarda el resultado de la función reductora.
    • currentValue: El valor actual del elemento que se está procesando.
    • index: El índice del elemento actual.
    • array: El array sobre el cual se itera.
  • initialValue: Valor a usar como el primer argumento accumulator en la primera llamada de la función callback (opcional).

Valor que retorna

El valor resultante de la reducción.

Ejemplo

snippet.js
1let array = ["a", "b", "c", "d"];
2let concatenatedString = array.reduceRight(
3 (accumulator, currentValue) => accumulator + currentValue,
4 ""
5);
6console.log(concatenatedString); // Salida: 'dcba'

En este ejemplo:

  • El array original es
    snippet.txt
    1['a', 'b', 'c', 'd']
    .
  • snippet.txt
    1array.reduceRight((accumulator, currentValue) => accumulator + currentValue, '')
    concatena todos los elementos del array de derecha a izquierda, devolviendo
    snippet.txt
    1'dcba'
    .

Notas Adicionales

  • El método reduceRight() no modifica el array original.
  • El método reduceRight() es útil para realizar operaciones acumulativas en el orden inverso, como concatenar cadenas desde el final hacia el principio.

Espero que esta guía te haya sido de gran ayuda para dominar los métodos de iteración en JavaScript. Con los conocimientos adquiridos, podrás recorrer y manipular arrays de manera más eficiente. ¡Sigue practicando y mejorando tu código!

Te invito a leer mi próximo blog sobre los Métodos de representación y conversión en JavaScript. ¡No te lo pierdas aquí!

comentario.formNuevo

* Tu correo electrónico permanecerá privado. Los campos requeridos están señalados con *