Funciones de orden superior en Java Script

Funciones de orden superior en Java Script

Las funciones de orden superior en Java Script o cualquier otro lenguaje son aquellas que reciben o retornan otras funciones. Esta característica es incorporada frecuentemente en los lenguajes de programación funcional (paradigma funcional).

Tres funciones que cumplen con esta característica en Java Script son map, filter y reduce las cuales se utilizan para manipular listas, en este tutorial aprenderemos a utilizarlas con unos ejemplos muy sencillos.

¿Cómo usar las funciones de orden superior en Java Script?

La función map aplica una función a cada elemento de una lista y devuelve una nueva con el resultado de aplicar la función a cada elemento. Vamos a ver un ejemplo donde se aplica la raíz cuadrada a cada elemento de una lista:

// Aplica Math.sqrt(value) para cada elemento de un array.
var numeros = [9, 16];
var resultado = numeros.map(Math.sqrt);
document.write(resultado);

La función filter verifica que los elementos de una lista cumplan una determinada condición, devolviendo una lista con los elementos que cumplen esa condición. Vamos a ver un ejemplo donde se filtran los números impares de una lista:

// Se aplica la condición esPar para filtrar los números que no la cumplan
var numeros = [1, 2, 3, 4, 5, 6, 7];

function esPar(numero){
  return numero % 2 == 0;
}

var resultado = numeros.filter(esPar);
document.write(resultado);

La función reduce aplica una función a pares de elementos de una lista hasta dejarla en un único valor. En el siguiente ejemplo utilizamos la función reduce para sumar todos los números de una lista:

// Se aplica la suma() para sumar todos los números de la lista
var numeros = [1, 2, 3, 4, 5, 6, 7];

function suma(numero1, numero2){
  return numero1 + numero2;
}

var resultado = numeros.reduce(suma);
document.write(resultado);

Bueno gente, hemos llegado al final de este tutorial espero que les haya servido. Ante cualquier problema no duden en dejar un comentario.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *