首页 > 其他分享 >week03-day05练习

week03-day05练习

时间:2022-08-14 18:01:16浏览次数:44  
标签:pre week03 console log 练习 value day05 数组 var

 <script>
        // 1, 使用reduce求数组中所有元素的乘积,
        // var arr = [2, 3, 4, 5, 6, 7]
        var arr01 = [2,3,4,5,6,7];
        var result = arr01.reduce(function(pre,cur){
            return pre * cur ;
        })
        console.log(result);  //5040
        // 2, 使用reduce求数组中的最大数,
        // var arr = [2, 4, 6, 3, 7, 8, 5]
        var arr02 =  [2, 4, 6, 3, 7, 8, 5];
        var result01 = arr02.reduce(function(pre,cur){
            return pre>cur?pre:cur ;
            // return Math.max(pre,current)
        })
        console.log(result01); //8
        // 3, 使用indexOf完成数组去重.
        var arr03 =[1,1,2,2,3,3,4,5,6,4,9,8,7]
        var arr04 = [];
        arr03.forEach((v,index)=>{
            //indexOf从左至右查找v 返回找到的下标,
            // 如果找到的下标是当前的下标,则没有重复
          if(arr03.indexOf(v)==index){
              arr04.push(v);
        }
                })
        console.log(arr04); //(9) [1, 2, 3, 4, 5, 6, 9, 8, 7]
        // 4. 使用for - of求5!(1 * 2 * 3 * 4 * 5)
           var arr05 = [1,2,3,4,5]
           var result01=1;
           for(var value of arr05){
                 result01*=value;
           }
           console.log(result01); //120
        // 5, 使用for - of求1!+2!+3!+4!+5!
        var arr06 = [1,2,3,4,5];
        var result02 = 1;
        var sum = 0;
        for(var value of arr06){
            result02*=value;
            sum +=result02;
        }
        console.log(sum);
        //     6, 使用for - of求数组的最大数和最小数
        var arr07 = [0,1,2,3,4,5];
        var max = 0,min = 0;
        for(var value of arr07){
         if(value>max){
             max=value;
         }else if (value<min){
             min=value;
         }
        }     
        console.log(max);
        console.log(min);
        // 7, 掌握数组去重的多种方法.
        //用set去重
        //用indexOf去重   数组方法
        //findIndex实现
        var arr08 = [1,2,1,2,3,4,3,1];
        var indexs=[]; //接受数字第一次出现的下标,再根据下标拿值
        for(var value of arr08){
           var index= arr08.findIndex ((v)=>{  //findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。
                return v == value;
            })
            if(!indexs.includes(index)){     //includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
                indexs.push(index)
            }
        }
        console.log(indexs); //(4) [0, 1, 4, 5]
        // 8, 掌握各种循环的使用
        for(var i in 4){  //万物皆可对象    没有运行结果也不会报错
            console.log(i); //遍历对象或数组
        }
        // for(var v of 4){ //ncaught TypeError: 4 is not iterable
        //     console.log(v); //遍历数组
        // }
    </script>

  

标签:pre,week03,console,log,练习,value,day05,数组,var
From: https://www.cnblogs.com/eve-xin/p/16585928.html

相关文章

  • [POI2006]Pro-Professor Szu & ZLOJ 练习62 B
    writtenon2022-08-09题目不难,但是需要总结一下。题意很明确,就不过多阐述了。读完题目后,很明显可以建反图,然后就会有两种方法。第一种方法是直接拓扑排序找环,这种方式......
  • P8245 [COCI2013-2014#3] PAROVI & ZLOJ 练习62 D
    writtenon2022-08-09一道有趣的计数题。首先题面中最引人注目的就是两个整数的数据范围。很显然,暴力的思路,枚举所有数,找出每一位上每一种数字的个数这种方法是不可行......
  • ZLOJ 练习65 总结
    writtenon2022-08-12今天的题目……主要偏思维吧。。想到了就不是很难,想不到的话就毫无思路。但是仍然暴露出许多问题,第一题其实是一道简单的动态规划,简化题意就是给......
  • ZLOJ 练习64 总结
    writtenon2022-08-11题目难度整体不大。\(A\)题小贪心难度不是很大。\(B\)题构造题,主要考想法。这题的关键点在于在尝试手动构造的时候,从小到大,最后一位数字单独......