gpt4 book ai didi

javascript - For循环不打印所有数组

转载 作者:行者123 更新时间:2023-11-28 17:52:29 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com