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)。這些方法幫助我在處理數學計算時更加便捷。
本篇詳細整理 Math 函式中常用 Method 有以下幾種
- Math.abs(x)
- 絕對值: 回傳 x 的絕對值
- Math.ceil(x)
- 無條件進位: 回傳 x 值的大於等於最小整數
- Math.floor(x)
- 無條件捨去: 回傳 x 值的小於等於最大整數
- Math.round(x)
- 四捨五入: 回傳 x 值小數點後四捨五入的整數
- Math.trunc(x)
- 去除小數: 回傳 x 值去除小數的整數
- Math.random()
- 隨機取得 0~1 之間的數值
- 延伸: 隨機取得 0~X-1 範圍內整數
- Math.floor(Math.random()* X )
- Math.max(...array)
- 取得數列中最大值
- Math.min(...array)
- 取得數列中最小值
- Math.sign(x)
- 回傳數值正、負數型態
- 正數回傳 1,負數回傳 -1
- 0 回傳 0,-0 回傳 -0,字串等不是數字的回傳 NaN
- 回傳數值正、負數型態
- 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)