JS基礎語法---函數練習part2---3個練習

来源:https://www.cnblogs.com/jane-panyiyun/archive/2019/11/27/11939393.html
-Advertisement-
Play Games

練習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]));

實現:

 

 

練習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]));

 

實現:

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Web應用發展的初期,那時關係型資料庫受到了較為廣泛的關註和應用,原因是因為那時候Web站點基本上訪問和併發不高、交互也較少。而在後來,隨著訪問量的提升,使用關係型資料庫的Web站點多多少少都開始在性能上出現了一些瓶頸,為了剋服這一問題,Redis應運而生,讓我們通過本文一起來瞭解下Redis 是... ...
  • Redis基礎類型常用操作命令 概念:Redis是用C語言開發的一個開源的高性能鍵值對資料庫。 特征: 數據間沒有必然的聯繫 內部採用單線程機制進行工作 高性能 多數據類型支持 1. 字元串類型 String 2. 列表類型 List 3. 散列類型 Map 4. 集合類型 Set 5. 有序集合類 ...
  • 記錄下步驟以後用到時翻一翻。 一、下載官方的文件包和編譯 在centos下載依賴庫: yum install gcc tcl 在redis官網的下載頁面,這裡可以選擇離線包或線上下載。 我選擇線上的,在下載頁面往下拉到 Installation 這裡官方已經教你如何線上下載了,我們按步驟來。 在ce ...
  • 海量數據的特征工程中, 如果數據特征維度達到幾千乃至上萬 常規的lasso很容易失效 這裡介紹幾種泛義lasso,是在實際數據處理中常用的 迭代與分塊思路/分組的使用(有興趣的同學可自行實踐一下) 1. 迭代lasso 2. 分組/聚類lasso 3. 分組與降維結合lasso 另外在<<高維數據統 ...
  • 最近整理了一下MySQL 8.0的自動化安裝,其中用到了一個MySQL 5.7版本的自定義配置文件,由於沒有對(MySQL 8.0)做針對性修改,導致安裝過程中出現了一些錯誤其中部分原因就是MySQL 5.7時代的配置在MySQL 8.0不再被支持,同時某些參數不再建議使用,如果繼續保留在配置文件中 ...
  • 漏洞描述 Apache Flink是一個用於分散式流和批處理數據的開放源碼平臺。Flink的核心是一個流數據流引擎,它為數據流上的分散式計算提供數據分發、通信和容錯功能。Flink在流引擎之上構建批處理,覆蓋本地迭代支持、托管記憶體和程式優化。近日有安全研究人員發現apache flink允許上傳任意 ...
  • 1,查看CPU占用量最高的會話及SQL語句 select spid,cmd,cpu,physical_io,memusage, (select top 1 [text] from ::fn_get_sql(sql_handle)) sql_text from master..sysprocesses ...
  • 8. 顯式動畫 顯式動畫 如果想讓事情變得順利,只有靠自己 -- 夏爾·紀堯姆 上一章介紹了隱式動畫的概念。隱式動畫是在iOS平臺創建動態用戶界面的一種直接方式,也是UIKit動畫機制的基礎,不過它並不能涵蓋所有的動畫類型。在這一章中,我們將要研究一下顯式動畫,它能夠對一些屬性做指定的自定義動畫,或 ...
一周排行
    -Advertisement-
    Play Games
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...
  • 1. JUnit 最佳實踐指南 原文: https://howtodoinjava.com/best-practices/unit-testing-best-practices-junit-reference-guide/ 我假設您瞭解 JUnit 的基礎知識。 如果您沒有基礎知識,請首先閱讀(已針 ...