Funciones de Orden Superior en Javascript: forEach(),map() y filter().

Funciones de Orden Superior en Javascript: forEach(),map() y filter().

Funciones son una parte esencial de muchos lenguajes de programación. En Javascript, las funciones son tratadas como ciudadanos de primera-clase, es decir; podemos asignarles un valor, guardarlas en una variable, pasarlas como argumentos a otras funciones y retornarlas como valor desde una función.

Estas características resultan en un código flexible, reutilizable y limpio.

Funciones de Orden Superior

Una función de orden superior es una función que toma otra función como argumento y/o retorna una función como valor. Cuando una función es pasada como parámetro, se le llama callback.

Programación Funcional

Javascript introdujo muchos métodos incorporados. Todos los métodos incorporados son de orden superior. En esta sección veremos los métodos forEach(), map() y filter().

forEach()

Ejecuta la función callback una vez por cada elemento del array en orden ascendente.

La función callback a su vez se puede invocar con 3 argumentos:

  1. El valor del elemento
  2. El índice del elemento (opcional)
  3. El array que está siendo recorrido (opcional)

Sintaxis

array.forEach(function callback(elemento, índice, array) {
});

Ejemplo de uso

const miArray = ['A','B','C'];

miArray.forEach((elemento,índice,array) => {
        console.log(`${elemento} : ${indice}`);
        console.log(array);
});
/* Resultado:
A : 0 
B : 1 
C : 2
Array(3) [ "A", "B", "C" ]
*/

map()

Crea un nuevo array con los resultados de la llamada al callback a cada uno de sus elementos. De manera opcional se puede acceder al índice del elemento y al array dentro del callback.

Sintaxis

array.map(function callback(elemento,índice, array);

Ejemplo de uso

let numerosArray = [1,4,9];
let raices = numerosArray.map((numero) => {
        return Math.sqrt(numero);
});

// numeros Array = [1,4,9];
// raices Array = [1,2,3];

filter()

Crea un nuevo array con todos los elementos que cumplan la condición implementada en la función callback. Retorna true si el elemento la cumple o en caso contrario retornará false. De modo opcional también puede recibir el índice, y el array que podrán accederse dentro de la función callback.

Sintaxis

let nuevoArray = array.filter(function callback(elemento,índice, array) {
condicion
});

Ejemplo de uso

const paises= ['Alemania','Francia','Italia','España','Inglaterra'];
let paisesFilter = paises.filter((elemento) => {
    return elemento.length <= 6; 


}); // Italia, España