这个函数mas有参数(startingHour,everyXhours);
此函数必须返回允许的小时数组。
可用时间[0 1,2 ... 22,23]所有小时数
想要一个函数来获取允许分隔everyXhours
的所有小时数组答案 0 :(得分:1)
好的,如果你不想超级优雅的话,这很简单。蛮力方法是用可能的值填充数组,然后过滤掉你不想要的数组。
function getHours(start, everyX) {
const total = Array(24).fill().map((n, i) => { return i; });
return total.filter((n) => {
return (n === start ||
( n > start && n % everyX === 0));
})
}
<强>更新强>
好的,根据您的新要求,它仍然相当简单。您可以先旋转数组,然后再获取每个第n个项目,而不是纯过滤器。
function getHours(start, everyX) {
const all = Array(24).fill().map((n, i) => { return i; });
all.unshift.apply(all, all.splice( start, all.length ) );
return all.filter((n, i) => {
return i % everyX === 0;
})
}