• ES6——数组


    数组:
    • map       映射  ———— 一个对一个
    • reduce   汇总  ———— 一堆出来一个
    • 算个总数 [1,2,3]==>6
    • 算平均数 [1,2,3]==>2
    • filter   过滤器———— 
    • forEach  循环(迭代)
     
    1、map      映射  ———— 一个对一个
         如:
    1.[76,57,33,87,95]-->[及格,不及格,不及格,及格,及格]
    2.[45,57,132,34](用户ID)
      [
        {name:'blue',level: 0,role: 0},
        {name:'zhang',level: 88,role: 3},
        {name:'li',level: 66,role: 0},
        {name:'liu',level: 88,role: 0},
      ]

      举例:

    例1:
    let arr = [12,5,8];
    // let result = arr.map(function(item){
    //     return item*2;
    // });
    let res = arr.map(item=>item*2);
    alert(res);
    // 输出:24,10,16
    例2:
    let score = [32,67,56,76,87];
    let res = score.map(item=>item>=60?'及格':'不及格');
    alert(score); // 32,67,56,76,87
    alert(res);  // 不及格,及格,不及格,及格,及格
    2、reduce   汇总  ———— 一堆出来一个
          算个总数 [1,2,3]==>6
          算平均数 [1,2,3]==>2
    例1:求和
    let arr = [12,69,180,8763];
    let res = arr.reduce(function(tmp,item,index){
            // 临时结果 当前变量 当前位置
        return tmp + item;
    });
    console.log(res); 
    // 输出:9024
    例2:求平均数
    1.
    let arr = [1,2,3,4,5,6,7];
    let res = arr.reduce((tmp,item,index)=>{
        return tmp+item;
    })
    console.log(res/(arr.length));
    2.
    let arr = [1,2,3,4,5,6,7];
    let res = arr.reduce(function(tmp,item,index){
        if(index!=this.length-1){ //不是最后一次(Y)
            return tmp + item;
        }else{ // 是最后一次
            return (tmp + item)/arr.length;
        }
    });
    console.log(res);
    // 输出:28
    3.
    let arr = [1,2,3,4,5,6,7];
    let res = arr.reduce((tmp,item,index)=>{
        // 解决this指向问题
        return index!=arr.length-1? (tmp+item):((tmp + item)/arr.length);
    });
    console.log(res);
    // 输出:4
    3、filter   过滤器 ——— 
    /*
    3、filter
    let arr = [1,4,3,6,5,9];
    // let res = arr.filter(item=>{
    //     if(item%3==0){
    //         return true;
    //     }else{
    //         return false;
    //     }
    // });
    // let res = arr.filter(item=>item%3==0?true:false);
    let res = arr.filter(item=>item%3==0);
    alert(res); 
    // 输出:3,6,9
    2.
    let arr = [
        {title:'男士衬衫',price:66},
        {title:'女式衬衫',price:666},
        {title:'男士包',price:99},
        {title:'女式包',price:999}
    ];
    let result = arr.filter(json=>json.price>=100);
    console.log(result);
    //
    输出
    (2) [{…}, {…}]
    0: {title: "女式衬衫", price: 666}
    1: {title: "女式包", price: 999}
    length: 2
    __proto__: Array(0)
    */
    4、forEach  循环(迭代)
    /*
    4、forEach
    let arr = [12,4,8,9];
    // arr.forEach(item=>{
    //     alert(item);
    // });
    // 12 4 8 9
    arr.forEach((item,index)=>{
        alert(index + ':' + item);
    });
    // 0:2  1:4  2:8
    */
  • 相关阅读:
    spring 实现测试解耦
    Java 反射实例 (二)
    Java 反射实例
    Thread.join()
    缓存输入/输出流
    文件的拷贝
    将键盘输入的数据保存到文件中:OutputStream
    InputStream中read方法各个参数的意义
    OutputStream
    InputStream中的主要的子类
  • 原文地址:https://www.cnblogs.com/sylys/p/11638043.html
Copyright © 2020-2023  润新知