如何在JavaScript的map方法中实现索引循环重置?
问题修复:实现索引0-3循环重置
预期输出要求每个数字对应的第二个值按0、1、2、3循环,原代码的逻辑无法实现该循环效果,以下是修复方案:
修复后的代码
let arr= []; for(let i=1; i<20; i++) { arr.push(i) } function arrFunc() { arr.map((e,i) => { // 利用取余运算实现0-3的循环索引 const loopIndex = i % 4; console.log(e, loopIndex) }) }
原代码问题分析
原代码中仅在index>3时将其重置为0并加1,这种逻辑只能实现一次重置,无法持续循环。而取余运算i%4可以直接让索引在0、1、2、3之间循环:
- 当
i=0(对应e=1)→0%4=0 i=1(对应e=2)→1%4=1- ...
i=4(对应e=5)→4%4=0i=5(对应e=6)→5%4=1
以此类推,完全匹配预期输出的循环规则。
内容的提问来源于stack exchange,提问作者Siddiq Barbhuiya
相关产品推荐
相关产品推荐

