• JS基础语法---数组案例---9个练习


    练习1:求数组中所有元素的和

        var arr1 = [10, 20, 30, 40, 50];
        var sum = 0;
        for (var i = 0; i < arr1.length; i++) {
          sum += arr1[i];
        }
        console.log(sum);

    练习2:求数组中所有元素的平均值

        var arr2 = [1, 2, 3, 4, 5];
        var sum2 = 0;
        for (var i = 0; i < arr2.length; i++) {
          sum2 += arr2[i];
        }
        console.log(sum2 / arr2.length);

    练习3:求数组中所有元素中的最大值

          var arr3 = [1, 9, 3, 10, 3330, 32];
          var max = arr3[0];
          for (var i = 0; i < arr3.length; i++) {
            if (max < arr3[i]) {
              max = arr3[i];
            }
          }
          console.log("最大值:" + max);

    但有bug:

             var arr3=[-1,-2,-3];
             //假设max变量中存储的是最大值
             var max=0;
             for(var i=0;i<arr3.length;i++){
               //判断这个变量的值和数组中每个元素的值是不是最大值
               if(max<arr3[i]){
                 max=arr3[i];
               }
             }
             console.log("最大值:"+max);

    练习4:求数组中所有元素的最小值

          var arr4 = [100, 10, 20, 30, 40, 50];
          var min = arr4[0]; //假设min里存储的就是最小值
          for (var i = 0; i < arr4.length; i++) {
            if (min > arr4[i]) {
              min = arr4[i];
            }
          }
          console.log("最小值:" + min);

    练习5:倒序遍历数组

          var arr5 = [10, 20, 30, 40, 50, 100];
          // 正序
             for (var i = 0; i < arr5.length; i++) {
               console.log(arr5[i]);
             }
          //倒序
          for (var i = arr5.length - 1; i >= 0; i--) {
            console.log(arr5[i]);
          }

     练习6:把数组中每个元素用|拼接到一起产生一个字符串并输出

     法1:

          var names = ["卡卡西", "佐助", "鸣人", "大蛇丸", "仓木麻衣"];
          var str = ""; //空的字符串
          for (var i = 0; i < names.length - 1; i++) {
            str += names[i] + "|";
          }
          console.log(str + names[names.length - 1]);

    法2:

          var names = ["卡卡西", "佐助", "鸣人", "大蛇丸", "仓木麻衣"];
          var str = "";
          for (var i = 1; i < names.length; i++) {
            str += "|" + names[i];
          }
          console.log(names[0] + str);

    练习7:去掉数组中重复的0,把其他的数据放在一个新的数组中

          var arr = [10, 0, 20, 0, 30, 0, 50];
          var newArr = []; //新数组,用来存放第一个数组中所有非0的数字
          for (var i = 0; i < arr.length; i++) {
            if (arr[i] != 0) {
              newArr[newArr.length] = arr[i];
            }
          }
          //把新数组的长度作为下标使用,数组的长度是可以改变的
          console.log(newArr);

    练习8:反转数组---把数组中的数据的位置调换

    ps:var array = [10, 20, 30, 40, 50];

    10和50交换位置,20和40交换位置。

    则可知:

    1. 循环次数,计数器,根据交换几次来决定,不论奇数或偶数个数据,交换次数都是数据长度的一半。即:i<array.length/2

    2. 第一个和最后最后一个交换位置,引入第三方变量。则第一个放到第三方里,最后一个放到第一个里,最后一个放第三方

             var array = [10, 20, 30, 40, 50];
             //循环的目的是控制交换的次数
             for (var i = 0; i < array.length / 2; i++) {
               //先把第一个元素的值放在第三方变量中
               var temp = array[i];
               array[i] = array[array.length - 1 - i];
               array[array.length - 1 - i] = temp;
             }
             console.log(array);

    练习9:提示用户输入班级人数,求总成绩,平均值,最高分,最低分---扩展

          var perCount = parseInt(prompt("请输入班级人数"));
          //定义数组存储班级的每个人的成绩
          var perScores = [];
          //循环的方式录入每个人的成绩
          for (var i = 0; i < perCount; i++) {
            //把每个人的成绩存储到数组中
            perScores[perScores.length] = parseInt(
              prompt("请输入第" + (i + 1) + "的个人成绩:")
            );
          }
          console.log(perScores);
    
          //求总成绩
          var sum = 0;
          var avg = 0; //平均值
          var max = perScores[0]; //最大值
          var min = perScores[0]; //最小值
          for (var i = 0; i < perScores.length; i++) {
            sum += perScores[i]; //求和
            //求最大值
            if (max < perScores[i]) {
              max = perScores[i];
            //求最小值
            if (min > perScores[i]) {
                min = perScores[i];
              }
            }
          }
          //平均值
          avg = sum / perScores.length;
          console.log("和为:" + sum);
          console.log("平均值为:" + avg);
          console.log("最大值:" + max);
          console.log("最小值:" + min);
  • 相关阅读:
    面试题链接
    75 道 BAJT 高级 Java 面试题,你能答上几道?
    使用UML描述需求都实现的过程
    java面试题(下)
    golang中goconfig包使用解析
    golang中sublime text中配置goimports
    golang中new和make区别
    golang中并发sync和channel
    使用go build 进行条件编译
    golang中time包用法
  • 原文地址:https://www.cnblogs.com/jane-panyiyun/p/11924770.html
Copyright © 2020-2023  润新知