我们可以这么干,再次声明一个标记变量j,j的初始值为0;
此时我们再次观察一下需要处理的数组:
[1,1,1,2,3,4,5,8,10,22,24,25,26,66]
通过观察数组我们可以发现,当我们循环遍历每一项...,从脚标1开始,如果当前项与前一项的差值不为1,我们可以直接将前一项推入结果数组,并标记此时的i值,即将i值赋值为j来保存。...此时发现j的值为2,i的值为7,我们只需要将原数组中第二项到第七项(不包括第七项)截取出来,塞进结果数组,并更新j值。
那么在代码中执行时,何时塞入当前项(前一项),何时塞入截取的的数组呢?...可以根据i和j的差值来判断,若i-j的差值大于一,则截取原数组j到i的结果塞入结果数组,代码如下:
var arr = [1,1,1,2,3,4,5,8,10,22,24,25,26,66]
var len...这里需要理解的是j值的使用方式,用j来标记数组项时候连续。