Javascript 当迭代数组和迭代器大于长度时(在图形渲染循环中),如何返回到开始

Javascript 当迭代数组和迭代器大于长度时(在图形渲染循环中),如何返回到开始,javascript,arrays,Javascript,Arrays,我正在尝试制作一个动画录制器,将x、y位置记录到一个数组中,并允许调用动画。我特别考虑将p5.js作为图形库,但任何一个都可以。因为这只是阵列工作 在p5.js中,要返回Sin()或Cos()的值,可以向它们传递一个角度,该角度可以不断增加,因为2PI==4PI(根据旋转方向)等。我希望复制这种函数,但要返回存储在数组中的数据 例如,你有一个如下的数组 let demo=['297','298','299','300'] 在数组上循环一次很容易,因为它有4个项,但我想写一个函数,如果我们传入4

我正在尝试制作一个动画录制器,将x、y位置记录到一个数组中,并允许调用动画。我特别考虑将p5.js作为图形库,但任何一个都可以。因为这只是阵列工作

在p5.js中,要返回Sin()或Cos()的值,可以向它们传递一个角度,该角度可以不断增加,因为2PI==4PI(根据旋转方向)等。我希望复制这种函数,但要返回存储在数组中的数据

例如,你有一个如下的数组

let demo=['297','298','299','300']
在数组上循环一次很容易,因为它有4个项,但我想写一个函数,如果我们传入4,它将返回索引0,'297',如果传入11,它将返回'300',如果传入22,它将返回'299'

通过这种方式,函数可以不断地以不断增加的值向上移动,我们可以在循环中返回数组的值


设调查=0;
让演示=['297','298','299','300']
//渲染循环
函数绘图(){
调查++
让xPos=getPosition(survey)//这个getPosition函数就是有问题的函数
椭圆(xPos,100,50)
}
我觉得这是一些模数学,但我不能很好地把它排序。
谢谢你看

问题的解决方案是模(
%
)运算符。此运算符将返回除法的剩余部分

例如,
11%4=3

const positions=[297298299300];
功能getPosition(位置,i){
返回位置[i%位置.长度];
}
console.log(getPosition(positions,4));//297
console.log(getPosition(positions,11));//300

console.log(getPosition(positions,22));//299
你的
getPosition
演示在哪里?