如何按指定次数循环遍历颜色列表,超出长度后从头顺序输出
解决方案
你只需要在访问数组元素时使用*取模运算(%)*计算对应的数组下标即可,修改后的代码如下:
function TestColorIteration(NumberOfTimesToIterate) { let ListOfColors = ["Red", "Blue", "Yellow"]; const colorCount = ListOfColors.length; // 提前获取数组长度,避免重复计算 for(let i = 0; i < NumberOfTimesToIterate; i++) { // 用i对数组长度取模,得到循环的下标 console.log(ListOfColors[i % colorCount]) } }
原理说明
取模运算会返回两个数相除的余数,用当前迭代次数i除以数组长度得到的余数,刚好可以实现下标自动循环的效果:
- 当
i=3时,3 % 3 = 0,对应数组第一个元素Red - 当
i=4时,4 % 3 = 1,对应数组第二个元素Blue
完全匹配你需要的输出要求。
内容的提问来源于stack exchange,提问作者TheObands
相关产品推荐
相关产品推荐

