zoukankan      html  css  js  c++  java
  • 数组的案例

      1 <script>
      2 
      3 
      4    //一、求一组数中的所有数的和和平均值
      5 //   var arr1 = [10,20,30];
      6 //   //计数器思想
      7 //   var sum = 0;
      8 //   for(var i=0;i<arr1.length;i++){
      9 //       sum += arr1[i];
     10 //   }
     11 //   console.log(sum);
     12 //   var avg = sum/arr1.length;
     13 //   console.log(avg);
     14 
     15 
     16    //二、求一组数中的最大值和最小值,以及所在位置
     17     //预热案例:求最大值
     18 //   var arr2 = [-10,20,-30,0];
     19 //   //必须使用数组中的值。(最好是第一个或者最后一个,可以少比较一次)
     20 ////   var max = 0;
     21 //   var max = arr2[0];
     22 //   for(var i=1;i<arr2.length;i++){
     23 //       //遍历数组,判断数组中的每一项,如果比max大,赋值给max,否则不用管
     24 //       if(arr[i]>max){
     25 //           max = arr2[i];
     26 //       }
     27 //   }
     28 //   alert(max);
     29 
     30 
     31 
     32 //    var arr3 = [10,-20,30,40];
     33 //   //定义一个最大值和一个最小值,把他们的索引值赋值给固定的两个变量
     34 //    var maxValue = arr3[0];
     35 //    var minValue = arr3[0];
     36 //    var maxIndex = 0;
     37 //    var minIndex = 0;
     38 //
     39 //    for(var i=1;i<arr.length;i++){
     40 //        //如果数组中的元素大于我们定义的最大值
     41 //        if(arr[i]>maxValue) {
     42 //            //把这个元素赋值给最大值,把他对应的索引值,赋值给maxIndex
     43 //            maxValue = arr[i];
     44 //            maxIndex = i;
     45 //        }
     46 //      //如果数组中的元素小于我们定义的最小值
     47 //        if(arr[i]<minValue){
     48 //            //把这个元素赋值给最小值,把他对应的索引值,minIndex
     49 //            minValue = arr[i];
     50 //            minIndex = i;
     51 //        }
     52 //    }
     53 //    console.log(maxValue);
     54 //    console.log(maxIndex);
     55 //    console.log(minValue);
     56 //    console.log(minIndex);
     57 
    77    //三、将字符串数组用|或其他符号分割
     78     var arr = ["吕超","赵云","典韦","关羽","马超","张飞"];
     79     var str = arr[0];
     80     var separator = "|";
     81    //为了避免第一个名字前有|,把第一个名字从数组中取出,赋值给str,然后在链接其他名字。
     82     for(var i=1;i<arr.length;i++){
     83         str += separator+ arr[i];
     84     }
     85     console.log(str);
    
    102     //四、将数组中值为0的去掉,不为0的存入一个新数组
    103     var arr = [0,"刘备",0,"关羽",0,"张飞",0];
    104     var newArr = [];
    105     for(var i=0;i<arr.length;i++){
    106         //判断,如果不是0,放入新数组
    107         if(arr[i] !== 0){
    108             newArr[newArr.length] = arr[i];
    109         }
    110     }
    111     console.log(newArr);
    112 
    
    120     //五、翻转数组
    121    //思路:实现方法:1.定义一个新数组,把老数组中的元素从后往前添加到新数组中。
    122    //思路:实现方法:2.操作原数组,让原数组第一位和最后一个位调换位置,以此类推。
    123     var arr = ["刘备","关羽","张飞","诸葛亮","马超","黄忠","姜维"];
    124    console.log(arr);
    125    //思路:实现方法:1.定义一个新数组,把老数组中的元素从后往前添加到新数组中。
    126     var newArr = [];
    127    //复杂版
    128     for(var i=0;i<arr.length;i++){
    129         //用新数组的长度作为索引值。  给定数组的最大索引值,然后-去i,因为i自增所以,获取的将是最大索引值到0;
    130         newArr[newArr.length] = arr[arr.length-1-i];
    131     }
    132     console.log(newArr);
    133    //简单版
    134    for(var i=arr.length-1;i>=0;i--){
    135        //用新数组的长度作为索引值。  给定数组的最大索引值,然后-去i,因为i自增所以,获取的将是最大索引值到0;
    136        newArr[newArr.length] = arr[i];
    137    }
    138    console.log(newArr);
    139 
    140    //思路:实现方法:2.操作原数组,让原数组第一位和最后一个位调换位置,以此类推。
    141     for(var i=0;i<arr.length/2;i++){  
           //这里数组长度/2是为了少交换一遍 142 //让前后数组中的元素交换位置。 143 var temp = arr[i]; 144 //前面项和对应的后面项交换位置。(arr.length-1-i = 倒数第i+1项) 145 arr[i] = arr[arr.length-1-i]; 146 arr[arr.length-1-i] = temp; 147 } 148 149 console.log(arr); 150 156 </script>
  • 相关阅读:
    UVA11367 Full Tank?
    不均衡样本集问题
    NLP interview
    Linux 指令
    Python 趣题
    Grid Illumination
    动态规划-Minimum Cost to Merge Stones
    Contest 141
    Python join()方法
    Single Number
  • 原文地址:https://www.cnblogs.com/my12-28/p/11738472.html
Copyright © 2011-2022 走看看