【发布时间】:2017-01-09 22:09:35
【问题描述】:
我几天前才开始学习编码,我的第一个程序也差不多完成了。但是,我现在最后遇到了一个问题,我自己似乎无法弄清楚出了什么问题。
该程序应该帮助我按工作日和一天中的时间对一堆日期进行排序。日期写成“YYMMDD-”,然后是一天中的时间(只有小时),例如“170109-06”。
我有我想要在一个数组中排序的所有日期(时间),下面的函数和循环应该删除所有与特定年份不匹配的日期。
变量说明:
time - 由日期和时间组成的数组(所有月份相同但年份不同。(例如 ["161102-03", "151127-11"]
yearDate - 将保留在数组中的日期的前 4 个数字。
function checkDate (date) {
var yearMonth = date.slice(0, 4);
var index = time.indexOf(date)
if (yearMonth != yearDate) {
time.splice(index, index + 1);
}
else {
}
}
for (var i = 0; i <= time.length; i++) {
checkDate(time[i]);
}
这段代码似乎偶尔会起作用,但有时数组中的一些字符串在应该被删除时仍然保留在那里,因此代码显然有问题。
我希望你能明白我的意思。我确实意识到这篇文章最终有点毛骨悚然。
【问题讨论】:
-
你试过自己调试吗?
-
请使用Tour,阅读How To Ask 并提供MCVE。你咨询过你的Rubber Duck吗?
标签: javascript arrays function loops for-loop