You need to enable JavaScript to run this app. JS高效算法:计算距下一场可用比赛的剩余天数
优惠活动
大模型
产品
解决方案
定价
更多

JS高效算法:计算距下一场可用比赛的剩余天数

下一场可用比赛间隔天数计算函数实现

核心采用模7运算自动处理周循环边界,无需额外判断跨周逻辑,代码简洁易维护,可覆盖所有边界场景。

实现代码

function getNumberOfDaysUntilNextAvailableGame(todaysDayNumberInWeek, autoEventDays) {
    // 校验可用日期串长度合法性
    if (autoEventDays.length !== 7) {
        console.log("ERROR: Invalid AutoEventDays: " + autoEventDays);
        return -1;
    }
    // 统一转换为数字类型,兼容字符串格式的周数入参
    const today = Number(todaysDayNumberInWeek);
    // 遍历0到6天,找到第一个可用比赛的日期
    for (let offset = 0; offset < 7; offset++) {
        const currentWeekDay = (today + offset) % 7;
        if (autoEventDays.charAt(currentWeekDay) === '1') {
            return offset;
        }
    }
    // 全周无可用比赛
    return -1;
}

测试验证

给出的所有测试用例均可正确返回预期结果:

  • 周六入参6 + 可用串0111110 → 返回2
  • 周一入参"1" + 可用串0111110 → 返回0
  • 周二入参"2" + 可用串0000001 → 返回4
  • 周三入参3 + 可用串1110011 → 返回2

内容的提问来源于stack exchange,提问作者HerrimanCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 02:36:04