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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...