You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复JS代码:使输入的星期显示在控制台输出末尾

修正星期输出序列的代码问题

问题分析

现有代码会把输入的星期放在输出序列最前端,不符合“输入星期显示在序列最后”的需求——原逻辑是从匹配到输入星期开始,就将后续所有元素(含输入星期)加入结果数组。另外原代码还存在大小写匹配漏洞:首次输入未转小写,可能导致Monday这类正常输入被误判为无效。

修正后的代码

const daysOfWeek = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
// 首次输入即转小写,统一格式避免匹配失败
let currentDay = prompt("Enter day of week:").toLowerCase();
// 循环校验输入有效性,输入后转小写
while (!daysOfWeek.includes(currentDay)) {
  currentDay = prompt("Invalid day. Enter day of week:").toLowerCase();
}
// 定位输入星期在数组中的索引
const currentIndex = daysOfWeek.indexOf(currentDay);
// 截取输入星期之后的所有天数,再将输入星期追加到末尾
const daysLeft = [...daysOfWeek.slice(currentIndex + 1), currentDay];

console.log(daysLeft);

逻辑说明

  1. 修复大小写问题:首次输入就转换为小写,确保和数组内元素格式统一,避免不必要的无效输入提示。
  2. 调整序列生成逻辑:
    • 用indexOf获取输入星期在数组中的位置。
    • 用slice(currentIndex + 1)提取输入星期之后的所有天数(比如输入monday时,会得到tuesday到sunday的数组)。
    • 最后将输入的星期添加到截取结果末尾,得到符合需求的输出序列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:55:25