美文网首页
高阶函数

高阶函数

作者: zzj_alpaca | 来源:发表于2016-11-25 22:43 被阅读0次

    高阶函数

    • map 不会改变原数组
    var arr = [2,3,4,5];// 将所有的值加6;
    var newArr = arr.map(function(val){
        return val + 6;
    })
    console.log(newArr); //[8, 9, 10, 11]
    

    map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的f(x)=x2,还可以计算任意复杂的函数,比如,把Array的所有数字转为字符串:

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']
    
    • reduce 不会改变原数组
    var arr = [3,4,2,9,4]; // 所有值累加
    var newArr1 = arr.reduce(function(previousVal, currentVal) {
        // body...
        return previousVal + currentVal;
    })
    console.log(newArr1);// 22
    
    var newArr2 = arr.reduce(function(previousVal, currentVal){
        return previousVal * 10 + currentVal; // 34249
    })
    
    • filter 过滤 不会改变原数组
    var arr = [3,4,2,9,4]; // 找到3以上的数
    var newArr = arr.filter(function(val){
        return val>3;
    })
    console.log(newArr);// [4, 9, 4]
    
    • sort 排序 会改变原数组
    var arr = [3,4,6,2,9];
    arr.sort(function(x, y) {
        // body...
        return x - y;
    })
    
    
    • reverse 翻转排序
    • concat 连接两个数组
    • split 字符串分割为数组

    相关文章

      网友评论

          本文标题:高阶函数

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