zoukankan      html  css  js  c++  java
  • JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)

    练习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]));

    实现:

    练习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]));

    实现:

     

  • 相关阅读:
    mysql delete 不支持表别名
    查找应用编译时所找的动态库:LD_DEBUG
    ng
    linux 开机启动自动执行某用户的脚步、程序
    理解Linux系统中的load average(图文版)
    char指针与数组(转载)
    堆 栈 静态区
    linux下which、whereis、locate、find 命令的区别
    linux c动态库编译好了,不能用。有些方法报(undefined reference)错误。
    浅谈管理系统操作日志设计(附操作日志类)
  • 原文地址:https://www.cnblogs.com/jane-panyiyun/p/11939393.html
Copyright © 2011-2022 走看看