修复 javascript 循环的结果
fix results of javascript loop
我有这个:
<% var arrayOfTimes = []; %>
<% for (var i = 0; i <= 24; i++) { %>
<% var n = i%2==0 ? i/2+':00' : (i+1)/2-1+':30'; %>
<% if(n<10) %>
<% n = ''+n; %>
<% arrayOfTimes.push(n); %>
<% console.log(arrayOfTimes); %>
<% } %>
它return是这样的:
[
'0:00', '0:30', '1:00',
'1:30', '2:00', '2:30',
'3:00', '3:30', '4:00',
'4:30', '5:00', '5:30',
'6:00', '6:30', '7:00',
'7:30', '8:00', '8:30',
'9:00', '9:30', '10:00',
'10:30', '11:00', '11:30',
'12:00'
]
但现在我希望它实际上有 15 分钟的间隔。所以它会 return
[
'0:00', '0:15', '0:30'
]
我将如何根据我的循环执行此操作?
使用 48 次迭代而不是 24 次。然后您可以使用 i%4
作为刻钟分钟数组的索引。
<% var arrayOfTimes = []; %>
<% for (var i = 0; i <= 48; i++) { %>
<% var n = Math.floor(i/4) + [":00", ":15", ":30", ":45"][i%4]; %>
<% if(n<10) %>
<% n = ''+n; %>
<% arrayOfTimes.push(n); %>
<% console.log(arrayOfTimes); %>
<% } %>
我有这个:
<% var arrayOfTimes = []; %>
<% for (var i = 0; i <= 24; i++) { %>
<% var n = i%2==0 ? i/2+':00' : (i+1)/2-1+':30'; %>
<% if(n<10) %>
<% n = ''+n; %>
<% arrayOfTimes.push(n); %>
<% console.log(arrayOfTimes); %>
<% } %>
它return是这样的:
[
'0:00', '0:30', '1:00',
'1:30', '2:00', '2:30',
'3:00', '3:30', '4:00',
'4:30', '5:00', '5:30',
'6:00', '6:30', '7:00',
'7:30', '8:00', '8:30',
'9:00', '9:30', '10:00',
'10:30', '11:00', '11:30',
'12:00'
]
但现在我希望它实际上有 15 分钟的间隔。所以它会 return
[
'0:00', '0:15', '0:30'
]
我将如何根据我的循环执行此操作?
使用 48 次迭代而不是 24 次。然后您可以使用 i%4
作为刻钟分钟数组的索引。
<% var arrayOfTimes = []; %>
<% for (var i = 0; i <= 48; i++) { %>
<% var n = Math.floor(i/4) + [":00", ":15", ":30", ":45"][i%4]; %>
<% if(n<10) %>
<% n = ''+n; %>
<% arrayOfTimes.push(n); %>
<% console.log(arrayOfTimes); %>
<% } %>