.map(), .filter() y .reduce() en JavaScript

map(), reducir(), filtrar()

Si es un desarrollador de JavaScript o acaba de empezar con JavaScript, en algún lugar ha oído hablar de map(), filter() y reduce(). A veces, las personas que son nuevas en estas funciones se confunden acerca de qué hacen exactamente estas funciones y cómo usarlas. Vamos a discutirlo en este artículo a continuación, uno por uno.

.mapa()

.map() se usa para transformar una matriz. Transformar significa, digamos que tiene una matriz que contiene algunos números y necesita encontrar el doble de cada número o el triple de cada número, por lo que desea transformarlo con alguna lógica de transformación y obtener una nueva matriz.

const arr = [2, 4, 5, 6, 8]
//  double arr = [4, 8, 10, 12, 16]
//  triple arr = [8, 12, 15, 18, 24]

let array = [1, 2, 3, 4, 5, 6]
function double(x){
return x * 2;
}
const result = array.map(double); // take callback function
//   Or with arrow function
const result = array.map(x => x * 2);
console.log(result);        // will print an array with double

El método .filter() se usa para filtrar una matriz. Filtrará una matriz según alguna lógica y le devolverá una matriz con valor filtrado. Digamos, por ejemplo, que tiene una matriz y desea averiguar qué elementos son mayores que un número específico. Probémoslo.

let arr = [2, 8, 3, 4, 5, 6]
function greaterThan3(x){
return x > 3;
}
const result = arr.filter(greaterThan3); // take callback function
//   or with arrow function
const result = arr.filter(x => x > 3);
console.log(result);

.reduce() método utilizado en un lugar donde necesita tomar todos los elementos de una matriz y obtener un valor único. Por ejemplo, digamos que tenemos una matriz y necesitamos encontrar la suma o el máximo.

let arr = [1, 5, 6, 8, 9, 3]
// sum, maximum

// Sum with non functional way
let arr = [2, 8, 3, 4, 5, 6];
function findSum(){
 let sum = 0;
  for(let i = 0; i < arr.length; i++){
   sum = sum + arr[i];
   }
  return sum;
 }
console.log(findSum());

arr.reduce(function(acc, curr){ // first parameter
// it will iterate over each element of array and this current(curr) with refer to current element of this array.
// Accumulator(acc) will accumulate the result for elements of the array.
},0) // second parameter
 it represents the initial value for the accumulator

let arr = [1, 2, 3, 4, 5, 6]
const result = arr.reduce(function(acc, curr){
   acc = acc + curr;
   return acc;
});
console.log(result);

Esta es la forma más sencilla de usar .map(), .filter() y .reduce(). Si reemplaza for loop con estos métodos, donde encaja. Te ayudará mucho a que tu código sea más limpio y fácil de leer.

¡Feliz codificación!

Suggested posts

La actuación en solitario de la chica pelirroja

Por encargo de Hayden, Katie se graba masturbándose.

La actuación en solitario de la chica pelirroja

Era pasada la medianoche cuando Hayden llevó a Katie de regreso a su residencia universitaria después de su velada juntos. Tenía una clase temprano en la mañana y no tenía otra muda de ropa después de haberse quedado con él la noche anterior.

Revista abierta

Revista abierta

Diario abierto: una imagen al día. Siempre me han fascinado las historias.

Related posts

Conversaciones peligrosas

Conversaciones peligrosas

Si queremos seguir prosperando en este planeta, vamos a tener que tener conversaciones peligrosas. Aquellas que desafían lo que hemos hecho, lo que estamos haciendo y lo que actualmente vamos a seguir haciendo (o planeamos hacer).

Repensar los medios: las cinco verdades de McChesney y el futuro de las comunicaciones

En el mundo hiperconectado de hoy, los sistemas de medios juegan un papel fundamental en la formación de la opinión pública y, en consecuencia, en la toma de decisiones democrática. En su profundo análisis de la economía política de la comunicación, el académico Robert McChesney desafía la sabiduría convencional y presenta lo que él llama las “cinco verdades” sobre los medios.

El desafío de lectura de Goodreads es tóxico

El desafío de lectura de Goodreads es tóxico

La picazón en mi mano se extendió mientras negociaba con el librero local por otro libro. Este libro, como el resto que compré recientemente, encontraría su trono en mi pila de 'To Be Read' (TBR); y sin embargo, lo compré.

los pronombres dan mucho miedo

Me llama la atención De repente, como ocurre con tanta frecuencia Es el punto medio de nuevo <No, no el del Pacífico, tú, el del carnaval> Todos los titulares en voz alta...