Últimamente la programación funcional está muy de moda y con el revuelo que está causando es importante aprender a usar 3 de las funciones que harán tu vida mas feliz. Sí, hablo de map
, reduce
y filter
.
Si trabajas con React y Redux estas 3 funciones te ayudarán diariamente a escribir mejores componentes
y reducers
.
A continuación los detallo:
Así como lo lees así funciona exactamente, filter
se encarga de filtrar los elementos de un array y retorna los resultados del mismo.
Un ejemplo:
const myArray = [-9, 9, 10, 1, -12, 12, 5, 29, 8, 12, -5];
//Función para determinar si un número es par y positivo.const isOddAndPositive = (number) => {
if (number %2 === 0 && number > 0) {
returntrue;
}
returnfalse;
}
myArray.filter(isOddAndPositive);
//Resultado: [10, 12, 8, 12]
Ahora que entendimos bien cómo funciona podemos reescribir nuestra función a:
const myArray = [-9, 9, 10, 1, -12, 12, 5, 29, 8, 12, -5];
myArray.filter((number) => {
if (number %2 === 0 && number > 0) {
returntrue;
}
returnfalse;
});
//Resultado: [10, 12, 8, 12]
Muy seguramente ya usaste map en algún momento y si es así ya eres un ser libre de forEach
.
Así como indica el nombre, map
itera sobre un array y ejecuta una función sin alterar el array
inicial.
const numArr = [1, 2, 3, 4, 5, 6, 7];
numArr.map(aNum => {
return aNum * aNum;
});// Resultado: [1, 4, 9, 16, 25, 36, 49]
Reduce en pocas palabras se encarga de reducir un array
a un solo valor ejecutando una función a cada elemento.
Un Ejemplo:
const myArray = [3, 9,12, 23, 99, 1];
myArray.reduce((total, num) => {
return total + num;
});
// Resultado: 147 = 3 + 9 + 12 + 23 + 99 + 1
Si de seas aprender mas sobre Javascript te recomiendo ampliamente la Escuela de Javascript de Platzi. Ahi podrás encontrar una cantidad increíble de cursos para fortalecer y profundizar tus conocimientos.
También ahi encontrarás cursos super importantes como el Curso profesional de React con Redux o el Curso de Angular 4
.