OK~ 我們在昨天 [Day 11] [Express] 用 Express 和 Node 做一個簡單的 web application 做好了一個只有加法的計算機,今天終於要來到這個章節的最後一關挑戰~
這個章節的挑戰是做一個 BMI 計算機。
以下是比較重要需要照著做的規定:
之前上 Javascript 已經有練習過 BMI Challenge,所以我直接複製貼上:
/* If my weight is 65Kg and my height is 1.8m, I should be able to call your function like this:
var bmi = bmiCalculator(65, 1.8);
bmi should equal 20 when it's rounded to the nearest whole number.
*/
function bmiCalculator(weight,height) {
var number = weight / (height * height);
console.log(number)
return number
}
var bmi = bmiCalculator(65, 1.8);
console.log("ANSWER: >>>>>>>> " + Math.round(bmi))
好的~ 再來就是把前端弄好,要有兩個輸入匡,分別是身高、體重,而且要有 placeholder 來提示說要輸入什麼。還有,按鈕要叫「Caculate BMI」。
再來是計算結果,題目要的格式是「Your BMI is n」,所以整個計算邏輯會長這樣:
app.post('/bmiCalculator', function(request, response){
var height = Number(request.body.height);
var weight = Number(request.body.weight);
var result = weight / (height * height);
response.send('Your BMI is ' + result)
})
喔喔差點忘了,app.get
還沒打好,趕快來補一下:
app.get('/bmiCalculator', function(request, response){
response.sendFile(__dirname + '/bmiCalculator.html')
})
OK,現在來看看直接複製貼上的結果如何 XD
Your BMI is 20.20493048039853485403
小數點後面的位數太多,所以加上 Math.floor():
Your BMI is 20
太好了~ Express.js with Node.js 章節終於結束!
目前進度:
鐵人賽目標是 9/30 上到課程的第 371 小節,目前在 238 小節結束。