zoukankan      html  css  js  c++  java
  • ES6数组的新增功能,还是很强大的好多地方用的到

    map,reduce,filter ,forEach 废话不多说代码走起

    map 映射   就是一个对一个 

        /*  比如:学生成绩分数对应及格不及格
          也可以做一些算数运算
            */       
            let chengji = [12, 58, 99, 86, 45, 91]; 
            /*可以接收返回的值*/
            let result = chengji.map( item=> {
                if (item >= 60) {
                    alert(item + "及格")
            }
            else {
                alert(item + "不及格回家叫家长")
              
            }
            })

    reduce 汇总   一堆出来一个

            /*算出总数*/
            let arr = [12, 69, 180, 8763];
            /*       
            tmp  临时结果(每次第一个数和第二个数相加的结果),
         item  第二个数开始走 ,
           index  下标(它这里是从第1个开始)
            */
            let result = arr.reduce(function (tmp, item, index) {
                //alert(tmp + ',' + item + ',' + index);
                return tmp + item;
            });
            alert(result);
    
            /*算出平均分*/
            let result1 = arr.reduce(function (tmp, item, index) {
                if (index != arr.length - 1) { //判断不是最后一次
                    return tmp + item;
                } else { //最后一次哪这总数除以长度
                    return (tmp + item) / arr.length;
                }
            });
    
            alert(result1);

    filter 过滤器  (可以过滤josn或是数组)

      /*过滤出大于10000元商品*/
        let arr=[
          {title: '男士衬衫', price: 75},
          {title: '女士包', price: 57842},
          {title: '男士包', price: 65},
          {title: '女士鞋', price: 27531}
        ];
            //返回的是一个数组
         /*简写方式一行代码就搞定*/
        let result=arr.filter(json=>json.price>=10000);
         /*不用简写麻烦*/
        let result1=arr.filter(function(item){       
            if(item.price>=10000)
            {
                
                return true;
            }
        })
        console.log(result)
        for(var  i=0;i<result1.length;i++)
        {
            //取出arr里面的title
            alert(result[i].title)
        }
        /*取出能被3整除的数*/
        //它是返回一个bool值,true返回 false过滤掉
        let arr1=[12,5,8,99,27,36,75,11];
        //
        let result2=arr1.filter(item=>item%3==0);
           
        alert(result2)

    forEach     循环(迭代)

       /*这个简单没啥说的*/
            let arr=[12,5,8,9];
            let arr1=[12,5,8,9];
           // item 数组  index 下标 
            /*简写*/
           arr.forEach((item,index)=>{
                alert(index+': '+item);
      
            });
    
    
           arr1.forEach(function(item,index){
               alert(index + ': ' + item);
         
           })

     

  • 相关阅读:
    小作业5
    小作业4
    Matplotlib基础
    Numpy学习笔记(下篇)
    Numpy学习笔记(上篇)
    机器学习的经典算法与应用
    opencv学习笔记D01
    Markdown新手入门
    python之生成器yeild
    pyinstaller打包.py程序为.exe操作指南
  • 原文地址:https://www.cnblogs.com/tianranhui/p/9216178.html
Copyright © 2011-2022 走看看