天天看點

數組大案例(和和平均值 、 最大值和最小值、 符号分割 、去掉不為0得值存入新的數組、 翻轉數組)...

1 <!DOCTYPE html>
  2 <html>
  3 <head >
  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