我正在尝试一个在数组中来回传递的无限循环,我所拥有的函数前进,我想让它在i = array.length时向后移动。 这是我的代码:
var myArray = ["banana", "apple", "peer", "grape"]
var i = 0;
(function loop() {
console.log(myArray[i])
if(i++ < myArray.length-1){
setTimeout(loop, 1000);
}
})();
我错过了落后的部分,因为我尝试的不起作用,
真的很感激任何帮助
答案 0 :(得分:0)
这可能是您正在寻找的东西。我没有运行任何东西,所以可能会有一些错误,但它应该给你一个你想要的目标。
const myArray = ["banana", "apple", "peer", "grape"];
let index = 0;
let direction = 0;
const maxLoops = 50;
let loopCount = 0;
while (loopCount < maxLoops) {
console.log(myArray[index]);
if (direction === 0) {
index++;
} else {
index--;
}
if (direction === 0 && index >= myArray.length - 1) {
direction = 1;
} else if (direction === 1 && index <= 0) {
direction = 0;
}
loopCount++;
}
答案 1 :(得分:0)
这是在数组达到长度时反转数组的一种方法:
var myArray = ["banana", "apple", "pear", "grape"];
var i = 0;
(function loop() {
if (i < (myArray.length - 1)) {
console.log(myArray[i]);
i++;
} else {
myArray.reverse();
i = 0;
console.log(myArray[i]);
i = 1;
}
setTimeout(loop, 1000);
})();
&#13;
答案 2 :(得分:0)
这是另一种向下计数的方式,等等。
var i = 0;
var maxIndex = 9;
var dir = 1;
while(true)
{
if (i == maxIndex*dir) dir = !dir;
doSomething(i);
i += (dir<<1)-1;
}