資料處理 - 數字
數字處理相關語法
語法
數字處理使用 Math 語法,提供了許多數學運算功能
Math.round(數字)四捨五入到整數Math.ceil(數字)無條件進位Math.floor(數字)無條件捨去Math.pow(數字, 次方)次方Math.sqrt(數字)平方根Math.sign(數字)正負數判斷,負數為 -1,0 為 0,正數為 1Math.abs(數字)絕對值Math.min(數字1, 數字2, 數字3...)取最小值Math.max(數字1, 數字2, 數字3...)取最大值Math.random()從 0 到 1 隨機取小數,包含 0,不包含1
js
Math.round(4.7) // 5
Math.ceil(4.4) // 5
Math.floor(4.8) // 4
Math.pow(8, 2) // 64
Math.sqrt(64) // 8
Math.sign(-100) // -1
Math.abs(-5) // 5
Math.min(0, 150, 30, 20, -8, -200) // -200
Math.max(0, 150, 30, 20, -8, -200) // 150
Math.random() // 0.123456789TIP
取陣列的最大值與最小值可以利用 ... 展開運算子
js
const arr = [0, 150, 30, 20, -8, -200]
Math.min(...arr) // -200
Math.max(...arr) // 150綜合練習
練習
從 0 到 100 隨機取一個整數
練習
製作隨機數字 function,提供最小整數和最大整數,回傳一個區間內的隨機整數
js
const rand = (min, max) => {
// 程式碼...
}作業
用上面練習完成的 function 製作威力彩號碼產生器
將隨機出的數字用 document.write() 顯示在網頁上
威力彩規則
- A 區 1~38 取 6 個數字
- B 區 1~8 取 1 個數字
練習
請寫一個 function,判斷傳入的數字是不是質數
並使用該 function 列出 1 ~ 100 間的所有質數
質數特性
- 不能被大於 2 且小於自身平方根的數整除
- 只能被 1 和自身整除,不能被 2 到 (num-1) 整除
提示 1
用迴圈從 2 開始,一個一個試著除,只要有一個能整除就不是質數
提示 2
其實不用試到自己減一,只要試到 Math.sqrt(數字) 就好
因為如果 數字 = a × b,a 和 b 其中一個一定小於等於平方根