我想知道如何用javascript写这个。这个想法是它花费时间和咖啡因含量,使用循环每小时减少直到它达到20毫克然后停止并告诉你什么时间你达到半衰期(5小时)然后你的睡前时间20毫克
此刻我的循环功能甚至没有。我试图围绕如何调整for循环。我会加入咖啡因或小时数值吗?
这就是我所拥有的:
function brew() {
var lastTime = 15; // military time for 3pm
var lastCoffee = 150; // 150mg of caffeine
for (var i = 1; lastCoffee <= 20; i++) {
var caffeine = lastCoffee/2; // my bootleg half life equation
};
}
答案 0 :(得分:1)
使用while
循环执行此操作会更容易。
我为每个涉及的值使用了一个特定变量,包括常量;这使得事情变得更容易阅读(也是一个很好的实践)。
function brew() {
// input values
var lastTime = 15; //military time for 3pm
var lastCoffee = 150; // 150mg of caffeine
// constant
var caffeineHalfLife = 5; // 5 hours
ver bedTimeCaffeine = 20; // 20mg of caffeine
// variables
var caffeine;
var bedTime;
// setup
caffeine = lastCoffee;
bedTime = lastTime;
// loop
while( caffeine > bedTimeCaffeine ) { // go on until caffeine > bedTimeCaffeine
caffeine /= 2; // the caffeine value become half...
bedTime += caffeineHalfLife; // ...every 5 hours (caffeineHalfLife)
}
}
但是如果你想坚持for
,那么最后一部分就会变成
// setup
caffeine = lastCoffee;
// loop
for( bedTime = lastTime; caffeine > bedTimeCaffeine; bedTime += caffeineHalfLife ) {
caffeine /= 2;
}
有关for
循环