使用 JavaScript 中的 while 循环,找出包含连续数字的最长子数组


我们需要编写一个使用 while 语句的函数,该函数在包含正整数的数组中找出最大连续子数组的长度。

例如 -

如果输入数组为 -

const input = [6, 7, 8, 6, 12, 1, 2, 3, 4] --> [1,2,3,4]

那么输出应该为 -

4

如果输入数组为 -

const input = [5, 6, 1, 8, 9, 7] --> [8,9]

那么输出应该为 -

2

因此,让我们为这个函数编写代码 -

示例

const arr = [6, 7, 8, 6, 12, 1, 2, 3, 4];
const arr1 = [5, 6, 1, 8, 9, 7];
const findLongestSub = arr => {
   let count = 1, len = 0, max = 1;
   while(len < arr.length){
      if(arr[len] === arr[len - 1] + 1){
         count++;
         if(max < count){
            max = count;
         }
         }else{
            count = 1;
      };
      len++;
   };
   return max;
};
console.log(findLongestSub(arr));
console.log(findLongestSub(arr1));

输出

控制台中的输出将为 -

4
2

更新于: 2020 年 8 月 28 日

293 次查看

开启你的职业生涯

完成课程以取得认证

开始
广告
© . All rights reserved.