JavaScript 中 Math 函式的解題技巧:Method 整理

我這篇文章整理了 JavaScript 中 Math 函式庫的常用方法,包括取絕對值的 Math.abs(x)、無條件進位的 Math.ceil(x)、無條件捨去的 Math.floor(x)、四捨五入的 Math.round(x),以及去除小數點的 Math.trunc(x)。還有生成隨機數的 Math.random()、找最大最小值的 Math.max(...array) 和 Math.min(...array),判斷數值型態的 Math.sign(x),以及計算次方的 Math.pow(base, exponent)。這些方法幫助我在處理數學計算時更加便捷。

JavaScript 中 Math 函式的解題技巧:Method 整理
Photo by Roman Mager / Unsplash

本篇詳細整理 Math 函式中常用 Method 有以下幾種

  1. Math.abs(x)
    • 絕對值: 回傳 x 的絕對值
  2. Math.ceil(x)
    • 無條件進位: 回傳 x 值的大於等於最小整數
  3. Math.floor(x)
    • 無條件捨去: 回傳 x 值的小於等於最大整數
  4. Math.round(x)
    • 四捨五入: 回傳 x 值小數點後四捨五入的整數
  5. Math.trunc(x)
    • 去除小數: 回傳 x 值去除小數的整數
  6. Math.random()
    • 隨機取得 0~1 之間的數值
    • 延伸: 隨機取得 0~X-1 範圍內整數
      • Math.floor(Math.random()* X )
  7. Math.max(...array)
    • 取得數列中最大值
  8. Math.min(...array)
    • 取得數列中最小值
  9. Math.sign(x)
    • 回傳數值正、負數型態
      • 正數回傳 1,負數回傳 -1
      • 0 回傳 0,-0 回傳 -0,字串等不是數字的回傳 NaN
  10. Math.pow(base, exponent)
    • 回傳底數 (base) 的指數 (exponent)
// 1. 絕對值 (abs)
Math.abs(-10)       // 10

// 2. 無條件進位,取整數 (ceil)
Math.ceil(7.001)    // 8
Math.ceil(-7.01)    // -7

// 3. 無條件捨去,取整數 (floor)
Math.floor(7.001)   // 7
Math.floor(-7.01)   // -8 

// 4. 四捨五入,取整數 (round)
Math.round(10.4999) // 10
Math.round(10.5001) // 11

// 5. 去除小數,只保留整數 (trunc)
Math.trunc(10.111)  // 10
Math.trunc(-7.111)  // -7

// 6. 隨機取得0~1之間的數值 (random)
Math.random()       // 0.0000…1 ~ 0.99999…

// 7. 隨機取得範圍內整數
Math.floor(Math.random()* X )  // 0 ~ X-1

let array = [10,32,51,332,42]
// 8. 取得數列中最大值 (max)
Math.max(...array) // 332

// 9. 取得數列中最小值 (min)
Math.min(...array) // 10

// 10. 回傳數值正、負數型態 (sign)
Math.sign(10);     // 1 (正數)
Math.sign(-10);    // -1 (負數)
Math.sign(0);      // 0 (正零)
Math.sign(-0);     // -0 (負零)
Math.sign('a');    // NaN (不是數字)

// 11. 回傳底數 (base) 的指數 (exponent)
Math.pow(2,3)      // 8 (2^3)
參考資料
1.
常用 Js Math 方法筆記
2. JavaScript Math 对象
3. JavaScript 數值與算數(Number and Math)