如何使用JavaScript查找并返回数组中最长的重复序列数字

我们需要编写一个JavaScript函数,该函数接受一个Numbers数组,其中可能包含一些重复元素。该函数应从数组中返回最长重复数字序列的长度。

例如-

如果输入数组是-

const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];

然后输出应该是3,因为数字2在数组中连续重复3次(这是最高的数字)。

示例

const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];
const findLongestSequence = (arr = []) => {
   const res = arr.reduce((acc,val,ind) => {
      if(acc.length && acc[acc.length-1][0] === val){
         acc[acc.length-1].push(val);
      }else{
         acc.push([val]);
      };
      return acc;
   },[]).reduce((acc, val) => {
      return val.length > acc.length ? val : acc;
   }); return res.length;
}
console.log(findLongestSequence(arr));

输出结果

控制台中的输出将是-

3