美文网首页
functional programming - javascr

functional programming - javascr

作者: Zihowe | 来源:发表于2017-08-27 05:28 被阅读12次

    The beauty of functional programming

    // 创建一个函数,就像python里面的map
    function mapForEach(arr, fn) {
        
        var newArr = [];
        for (var i=0; i < arr.length; i++) {
            newArr.push(
                fn(arr[i])   
            )
        };
        
        return newArr;
    }
    
    var arr1 = [1,2,3];
    console.log(arr1);
    
    // map方程到数组中的每个元素,并返回新的数组
    var arr2 = mapForEach(arr1, function(item) {
       return item * 2; 
    });
    console.log(arr2);
    
    
    var arr3 = mapForEach(arr1, function(item) {
       return item > 2; 
    });
    console.log(arr3);
    
    
    var checkPastLimit = function(limiter, item) {
        return item > limiter;   
    }
    // 使用bind() method, 我们将这个函数的参数从两个降到了一个
    var arr4 = mapForEach(arr1, checkPastLimit.bind(this, 1));
    console.log(arr4);
    
    
    var checkPastLimitSimplified = function(limiter) {
        return function(limiter, item) {
            return item > limiter;   
        }.bind(this, limiter); 
    };
    // 使用first class function,让方程返回方程,使代码更加简化
    var arr5 = mapForEach(arr1, checkPastLimitSimplified(1));
    console.log(arr5);
    

    相关文章

      网友评论

          本文标题:functional programming - javascr

          本文链接:https://www.haomeiwen.com/subject/mdcbdxtx.html