如何使用remainder取模匹配第2、5、8、11位等间隔为3的序列元素
你要匹配的2、5、8位序列项,直接用取余判断 n % 3 === 2 即可实现精准匹配,不会和其他位置产生冲突。
逻辑说明
你给出的序列天然是每3个元素为一组的循环结构,对应取余结果完全分区:
- 每组第1位(n=1、4、7...):
n % 3 === 1,对应file行 - 每组第2位(n=2、5、8...):
n % 3 === 2,对应你要匹配的inpoint行 - 每组第3位(n=3、6、9...):
n % 3 === 0,对应outpoint行
代码示例
如果是1开始计数的序列,直接用以下判断:
// n为序列位序,从1开始 if (n % 3 === 2) { // 匹配到目标项,执行对应逻辑 }
如果是JS中常用的0起始下标的数组,调整判断条件即可:
// index为数组下标,从0开始 if (index % 3 === 1) { // 匹配到原序列的2、5、8位项 }
内容的提问来源于stack exchange,提问作者Jamie Hutber
相关产品推荐
相关产品推荐

