如何实现每X次迭代后自动递增数值?(附示例)
解决方案:按固定迭代次数自动递增数值
你完全可以用整数除法实现这个需求,不需要手动维护x变量。核心是基于当前索引i和间隔数X(示例中X=100)做整除计算,JavaScript里有几种简洁的写法:
Math.floor(i / X):最直观的取整方式~~(i / X):利用位运算快速取整(仅适用于正数索引场景)(i / X) | 0:位运算取整的另一种写法
代码示例(以X=100为例)
const arr = Array.from({length: 400}, (_, i) => i + 1); // 生成1-400的数组 arr.forEach((v, i) => { const x = Math.floor(i / 100); // 可根据需求使用x,比如打印验证 console.log(`索引${i},值${v},x=${x}`); });
逻辑说明
- 索引
i在0-99时,i/100结果为0~0.99,取整后x=0 - 索引
i在100-199时,i/100结果为1~1.99,取整后x=1 - 以此类推,不管数组长度如何变化,这个公式都能自动适配,全程无需手动更新
x
如果要调整间隔(比如每50次迭代递增1),只需把公式里的100换成对应的X值即可。
内容的提问来源于stack exchange,提问作者Taylor Foster
相关产品推荐
相关产品推荐

