gpt4 book ai didi

javascript - Javascript 中分步循环固定集合的策略

转载 作者:行者123 更新时间:2023-11-28 14:14:18 25 4
gpt4 key购买 nike

我正在尝试找出一种在 JavaScript 中通过固定步骤前进和后退的方法。

[0,1,2,3,4,5,6,7,8,9,10]

我从 3 开始。我想提前 15。这意味着我降落在 7 上,因为在 10 之后,我们会在 0 处重新开始。

另一个例子。从 9 开始,快退 11。我应该再次以 9 结束,因为在 0 之后我们会在 10 重新开始。

基本上,当你循环时,你会从集合的边缘掉下来,然后在相反的边缘上重新开始,继续沿相同的方向。

这应该适用于任何大小的集合,而不仅仅是像示例中那样具有 11 个元素的集合。

帮助我,数学奇才! 🧙‍​​♂️

最佳答案

通常,对于任何语言,您需要的是模运算符 %。负数的行为问题并未像某些人预期的那样被定义。解决这个问题的一种方法是:

function move(start, step, size) {
return (start+step+Math.abs(step)*size)%size
}

console.log(move(9,-11,11))
console.log(move(3,15,11))

其中步长可以是正数或负数。另一个我认为是:

function move(start, step, size) {
res = (start+step)%size;
if (res < 0) return size + res;
return res;
}

console.log(move(9,-11,11))
console.log(move(3,15,11))

关于javascript - Javascript 中分步循环固定集合的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58237958/

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