欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)

程序员文章站 2022-05-04 12:27:42
练习1:求2个数中的最大值 function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } console.log(getMax(10, 20)); //console.log(getMax); //函数的代码 同: functio ......

练习1:求2个数中的最大值

      function getmax(num1, num2) {
        return num1 > num2 ? num1 : num2;
      }
      console.log(getmax(10, 20));
      //console.log(getmax); //函数的代码

 

同:

      function getmax(num1, num2) {
        return num1 > num2 ? num1 : num2;
      }
      var num1 = 10;
      var num2 = 20;
      //函数外面的num和函数的形参num1不是同一个变量
      var result = getmax(num1, num2);
      console.log(result);
      //同:console.log(getmax); //函数的代码

 

练习2:求3个数中的最大值

      function getthreemax(x, y, z) {
        return x > y ? (x > z ? x : z) : y > z ? y : z;
      }
      console.log(getthreemax(10, 34, 90));

 

练习3:判断一个数是否是素数(质数)

ps:

1. 只能被1和自身整除,质数是从2开始

2. 用这个数字和这个数字前面的所有的数字整除一次(没有1的,没有自身的)

      function isprimenumber(num) {
        for (var i = 2; i < num; i++) {
          if (num % i == 0) {
            //说明有一个数字整除了,就没有必要向后继续整除了,此时就已经验证出不是质数
            return false;
          }
        }
        return true;
      }
      console.log(isprimenumber(7839) ? "是质数" : "不是质数");

 

同:

      function isprimenumber(num) {
        for (var i = 2; i < num; i++) {
          if (num % i == 0) {
            return false;
          }
        }
        return true;
      }

      var result = isprimenumber(3940);
      if (result) {
        console.log("这是数字是质数");
      } else {
        console.log("这是数字不是质数");
      }

 

练习4:求两个数字的差

      function getsub(x, y) {
        return x - y;
      }
      console.log(getsub(384, 2424));

 

练习5:求一组数字中的最大值

      function getarraymax(array) {
        var max = array[0];
        for (var i = 0; i < array.length; i++) {
          if (max < array[i]) {
            max = array[i];
          }
        }
        return max;
      }

      var max = getarraymax([30, 20, 10, 49, 59]);
      console.log(max);

      //    var arr=[10,20,30,40,50];
      //    var max=getarraymax(arr);
      //    console.log(max);
      // var max = getarraymax([10, 20, 30, 40, 50]); //可以直接把数组传到函数中的
      // console.log(max);
 

 

练习6:求一组数字中的最小值

      function getarraymax(array) {
        var min = array[0];
        for (var i = 0; i < array.length; i++) {
          if (min > array[i]) {
            min = array[i];
          }
        }
        return min;
      }
      //测试----调用函数并传入一个数组,把数组中的最小值直接显示出来
      console.log(getarraymax([20, 49, 18, 60, 74, 73]));

 

练习7:求一组数字的和

      function getarraysum(array) {
        var sum = 0;
        for (var i = 0; i < array.length; i++) {
          sum += i;
        }
        return sum;
      }
      console.log(getarraysum([1, 2, 3, 4, 5, 6, 7]));

 

练习8:求一个数组中的最大值和最小值还有和

ps:

1. 给我一个数组,我返回一个数组(最大值,最小值,和)

2. @param array参数是一个数组

3. @returns {*[]}返回值是一个数组,第一个元素值是最大值,第二个元素值是最小值,第三个元素值是和

      function getarraymaxandminandsum(array) {
        var min = array[0]; //最小值
        var max = array[0]; //最大值
        var sum = 0; //和
        for (var i = 0; i < array.length; i++) {
          sum += array[i]; //和
          //最大值
          if (max < array[i]) {
            max = array[i];
          } // end if
          //最小值
          if (min > array[i]) {
            min = array[i];
          } //end if
        } //end for
        var array = [max, min, sum];
        return array;
      }
      //测试
      var resultarray = getarraymaxandminandsum([2, 3, 4, 5, 6, 7, 8, 9, 27]);
      console.log("最大值:" + resultarray[0]);//27
      console.log("最小值:" + resultarray[1]);//2
      console.log("和:" + resultarray[2]);//71

 

 

练习9:通过函数实现数组反转

      function reversearray(arr) {
        for (var i = 0; i < arr.length / 2; i++) {
          var temp = arr[i];
          arr[i] = arr[arr.length - 1 - i];
          arr[arr.length - 1 - i] = temp;
        }
        return arr;
      }
      console.log(reversearray([1, 5, 10, 15, 20, 25, 30]));

实现:

JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)

 

 

练习10:通过函数实现冒泡排序

      function sortarray(arr) {
        //控制比较的轮数
        for (var i = 0; i < arr.length - 1; i++) {
          //控制每一轮的比较次数
          for (var j = 0; j < arr.length - 1 - i; j++) {
            if (arr[j] < arr[j + 1]) {
              var temp = arr[j];
              arr[j] = arr[j + 1];
              arr[j + 1] = temp;
            } //end if
          } //end for
        } //end for
        return arr;
      }
      console.log(sortarray([0, 10, 4, 20, 400, 2, 45]));

 

实现:

JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)