猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
js计算数组连续的最大长度问题
假如有一个数组
var arr=[1,2,4,5,6,8,9,10,11]
怎么计算最大的连续长度 也就是4
不负相思意
浏览 648
回答 1
1回答
哆啦的时光机
我写了一下!这个解释都在注释那里了,看了就明白了!function countLen(arr){ //如果参数不是数组或者长度为0,直接返回0 if(arr.constructor!==Array||arr.length===0){return 0;} //首先进入当前连续长度nowLen设初始化为1,最大连续长度maxLen初始化为0 var nowLen=1,maxLen=0; for(var i=1,len=arr.length;i<len;i++){ //当前数组元素是不是比上一个数组大1 if(arr[i]-arr[i-1]===1){ //如果是,当前连续长度nowLen+1 nowLen++; } else{ //否则先判断,当前连续长度是否大于最大连续长度 if(maxLen<nowLen){ //如果是就赋值 maxLen=nowLen } //当前连续长度初始化为1 nowLen=1; } } //循环完再判断一次当前连续长度是否大于最大连续长度(避免最大连续长度是数组最后面几个数组时产生的bug) if(maxLen<nowLen){ maxLen=nowLen } //返回最大连续长度 return maxLen;}
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续