miércoles, 22 de abril de 2015

JavaScript - Funciones como valor de retorno

function filterMaker(filterFunction){
  
   function filter (lista) {
    var nLista = [];
    for(var i = 0; i < lista.length; i++){
     if ( filterFunction(lista[i]) ){
      nLista.push(lista[i]);
     }
    }
    return nLista;
   }
   
   return filter;
  }
  
  var nums = [5,8,2,9,21,6,9,23,85]
  
  var funcionRecibida = filterMaker(function(n){
   return n > 20
  })  
  
  var res = funcionRecibida(nums) 
  
  /*
  var res = (filterMaker(function(n){
   return n > 20
  }))(nums) */ 
  
  
  console.log("resultado", res) // resultado [21, 23, 85]

No hay comentarios:

Publicar un comentario