Javascript 用于基于索引动态创建时间的For循环逻辑
所以我有43个单选按钮。当其中一个被选中时,它将返回它们的索引号。它是零基的,所以是0-42。每个索引对应一个特定的时间。0为上午8:00,42为晚上10:00,每个指数增加20分钟的时间。本质上,我正在尝试生成所需的时间,而不必为每个索引手动创建if语句。这是到目前为止我掌握的坏代码Javascript 用于基于索引动态创建时间的For循环逻辑,javascript,Javascript,所以我有43个单选按钮。当其中一个被选中时,它将返回它们的索引号。它是零基的,所以是0-42。每个索引对应一个特定的时间。0为上午8:00,42为晚上10:00,每个指数增加20分钟的时间。本质上,我正在尝试生成所需的时间,而不必为每个索引手动创建if语句。这是到目前为止我掌握的坏代码 function decipherIndex(radx) { var actime = ""; var hr = 8; var min = 0; var day = "am";
function decipherIndex(radx) {
var actime = "";
var hr = 8;
var min = 0;
var day = "am";
for (i=0;i<radx;i++) {
min = min + 20;
if (min = 60) {
hr = hr + 1;
min = 0;
}
if (hr = 13) {
hr = 0;
day = "pm";
}
}
actime = hr + ":" + min + day;
alert(actime);
}
函数解密索引(radx){
var actime=“”;
var-hr=8;
var min=0;
var day=“am”;
对于(i=0;i
您正在分配=
,因此min
和hr
将始终为0
,day
将始终为“pm”
。使用=
或=
进行比较:
if (min == 60) {
hr = hr + 1;
min = 0;
}
if (hr == 13) {
hr = 0;
day = "pm";
}
然而,循环不是必需的;您所需要的只是一点数学知识
function decipherIndex(i) {
var t = 60 * 8 + i * 20;
var min = t % 60;
var hr = t / 60 | 0;
return hr % 12 + ':' + (min < 10 ? '0' : '') + min + (hr >= 12 ? ' PM' : ' AM');
}
函数解密索引(i){
var t=60*8+i*20;
var min=t%60;
var-hr=t/60 | 0;
返回hr%12+':'+(min<10?'0':'')+min+(hr>=12?'PM':'AM');
}
补充信息:==
是一个无转换的比较。我的比较短了两个字符:PThanks,这就是我所需要的。
function decipherIndex(i) {
var t = 60 * 8 + i * 20;
var min = t % 60;
var hr = t / 60 | 0;
return hr % 12 + ':' + (min < 10 ? '0' : '') + min + (hr >= 12 ? ' PM' : ' AM');
}