数组大案例(和和平均值 、 最大值和最小值、 符号分割 、去掉不为0得值存入新的数组、 翻转数组)

  1 <!DOCTYPE html>
  2 <html>
  3 <head lang="en">
  4     <meta charset="UTF-8">
  5     <title></title>
  6 </head>
  7 <body>
  8 <script>
  9 
 10 
 11    //一、求一组数中的所有数的和和平均值
 12 //   var arr = [10,20,30];
 13 //   //计数器思想
 14 //   var sum = 0;
 15 //   for(var i=0;i<arr.length;i++){
 16 //       sum += arr[i];
 17 //   }
 18 //   console.log(sum);
 19 //   var avg = sum/arr.length;
 20 //   console.log(avg);
 21 
 22    //二、求一组数中的最大值和最小值,以及所在位置
 23     //预热案例:求最大值
 24 //   var arr = [-10,20,-30,0];
 25 //   //必须使用数组中的值。(最好是第一个或者最后一个,可以少比较一次)
 26 ////   var max = 0;
 27 //   var max = arr[0];
 28 //   for(var i=1;i<arr.length;i++){
 29 //       //遍历数组,判断数组中的每一项,如果比max大,赋值给max,否则不用管
 30 //       if(arr[i]>max){
 31 //           max = arr[i];
 32 //       }
 33 //   }
 34 //   alert(max);
 35 
 36 //    var arr = [10,-20,30,40];
 37 //   //定义一个最大值和一个最小值,把他们的索引值赋值给固定的两个变量
 38 //    var maxValue = arr[0];
 39 //    var minValue = arr[0];
 40 //    var maxIndex = 0;
 41 //    var minIndex = 0;
 42 //
 43 //    for(var i=1;i<arr.length;i++){
 44 //        //如果数组中的元素大于我们定义的最大值
 45 //        if(arr[i]>maxValue) {
 46 //            //把这个元素赋值给最大值,把他对应的索引值,赋值给maxIndex
 47 //            maxValue = arr[i];
 48 //            maxIndex = i;
 49 //        }
 50 //      //如果数组中的元素小于我们定义的最小值
 51 //        if(arr[i]<minValue){
 52 //            //把这个元素赋值给最小值,把他对应的索引值,minIndex
 53 //            minValue = arr[i];
 54 //            minIndex = i;
 55 //        }
 56 //    }
 57 //    console.log(maxValue);
 58 //    console.log(maxIndex);
 59 //    console.log(minValue);
 60 //    console.log(minIndex);
 61 
 62    //三、将字符串数组用|或其他符号分割
 63 //    var arr = ["吕超","赵云","典韦","关羽","马超","张飞"];
 64 //    var str = arr[0];
 65 //    var separator = "|";
 66 //   //为了避免第一个名字前有|,把第一个名字从数组中取出,赋值给str,然后在链接其他名字。
 67 //    for(var i=1;i<arr.length;i++){
 68 //        str += separator+ arr[i];
 69 //    }
 70 //    console.log(str);
 71 
 72 
 73     //四、将数组中值为0的去掉不为0的存入一个新数组
 74 //    var arr = [0,"刘备",0,"关羽",0,"张飞",0];
 75 //    var newArr = [];
 76 //    for(var i=0;i<arr.length;i++){
 77 //        //判断,如果不是0,放入新数组
 78 //        if(arr[i] !== 0){
 79 //            newArr[newArr.length] = arr[i];
 80 //        }
 81 //    }
 82 //    console.log(newArr);
 83 
 84 
 85     //五、翻转数组
 86    //思路:实现方法:1.定义一个新数组,把老数组中的元素从后往前添加到新数组中。
 87    //思路:实现方法:1.操作原数组,让原数组第一位和最后一个位调换位置,以此类推。
 88     var arr = ["刘备","关羽","张飞","诸葛亮","马超","黄忠","姜维"];
 89     console.log(arr);
 90    //思路:实现方法:1.定义一个新数组,把老数组中的元素从后往前添加到新数组中。
 91 //    var newArr = [];
 92    //复杂版
 93 //    for(var i=0;i<arr.length;i++){
 94 //        //用新数组的长度作为索引值。  给定数组的最大索引值,然后-去i,因为i自增所以,获取的将是最大索引值到0;
 95 //        newArr[newArr.length] = arr[arr.length-1-i];
 96 //    }
 97 //    console.log(newArr);
 98    //简单版
 99 //   for(var i=arr.length-1;i>=0;i--){
100 //       //用新数组的长度作为索引值。  给定数组的最大索引值,然后-去i,因为i自增所以,获取的将是最大索引值到0;
101 //       newArr[newArr.length] = arr[i];
102 //   }
103 //   console.log(newArr);
104 
105    //思路:实现方法:1.操作原数组,让原数组第一位和最后一个位调换位置,以此类推。
106     for(var i=0;i<arr.length/2;i++){
107         //让前后数组中的元素交换位置。
108         var temp = arr[i];
109         //前面项和对应的后面项交换位置。(arr.length-1-i = 倒数第i+1项)
110         arr[i] = arr[arr.length-1-i];
111         arr[arr.length-1-i] = temp;
112     }
113 
114     console.log(arr);
115 
116 
117 </script>
118 </body>
119 </html>
原文地址:https://www.cnblogs.com/BingBing-Deng/p/10242978.html