簡體   English   中英

如何使用切換大小寫在javascript中找到兩個數字之間的最大值?

[英]How to find maximum between two numbers in javascript using switch case?

我正在嘗試使用此代碼塊運行,但它不起作用

Switch (num1>num2) {
case 0:
  document.write(num2);
  break;
case 1:
  document.write(num1);
 break;
}

邏輯操作在Javascript上返回布爾值。

document.write將HTML表達式或JavaScript代碼寫入文檔,console.log在瀏覽器控制台上打印結果。

   switch (num1>num2) {
      case true:
          console.log(num1);
       break;
       case false:
           console.log(num2);
       break;
    }

switch (帶有小寫s)使用嚴格的比較===因此像11 > 10這樣的布爾值永遠不會=== 01

如果要這樣做,則需要測試布爾值:

 let num1 = 10 let num2 = 20 switch (num1>num2) { case false: console.log(num2); break; case true: console.log(num1); break; } 

如果由於某些原因給了您數字,您可以將它們顯式地轉換為布爾值,例如case !!0: :,但是這開始變得有些困難。

如果您的目標是找到兩個數字中的最大值,那么Math.max(num1, num2)很難獲得可讀性。

您只需要在switch語句內部使用大於/小於。

 var x = 10; var y = 20; switch(true) { case (x > y): console.log(x); break; case ( y > x): console.log(y); break; } 

您可以使用簡單的東西作為Math.max(5, 10) ;

 const numOne = 5; const numTwo = 10; console.log(`Bigger number is: ${Math.max(numOne, numTwo)}`); 

或者,如果您絕對“必須”使用switch statement ,則可以嘗試如下操作:

 const numOne = 5; const numTwo = 10; switch(true) { case (numOne > numTwo): console.log(`Bigger number is ${numOne}`); break; case (numOne < numTwo): console.log(`Bigger number is ${numTwo}`); break; case (numOne === numTwo): console.log(`${numOne} is equal to ${numTwo}`); break; default: console.log(false, '-> Something went wrong'); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM