作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
var dd = new Date();
var nn = dd.getDay();
console.log(nn);
var dates = ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"];
var ordered = [];
for(var i = 0; i < dates.length; i++) {
console.log(nn+i)
ordered.push(dates[nn+i])
}
console.log(ordered);
嗨嗨,我遇到了这个问题。现在我可以获取当前日期,在数组中搜索并从那天开始打印。但是,问题是前几天没有打印。
上面的代码将打印一个包含 7 个元素的数组:
["Miércoles", "Jueves", "Viernes", "Sábado", undefined, undefined, undefined]
nn+1 进行从 3 到 9 的迭代,其中 7、8 和 9 为空白。如果您想知道为什么我将“Domingo”(星期日)作为数组的第一个元素,是因为getDay()有效。
在不修改数组长度的情况下,如何添加其他未打印的日期?答案可能很明显,但我被困住了......
提前致谢。
最佳答案
您可以使用模运算符轻松修复此问题,以使索引环绕。因为您将日期添加到当前索引中,所以您超出了数组的限制,并且 undefined 被添加到数组中。
var dd = new Date();
var nn = dd.getDay();
console.log(nn);
var dates = ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"];
var ordered = [];
for(var i = 0; i < dates.length; i++) {
console.log((nn+i) % dates.length)
ordered.push(dates[(nn+i) % dates.length])
}
console.log(ordered);
关于javascript - For循环不打印所有数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45187917/
我是一名优秀的程序员,十分优秀!