How to find the longest repeating series of numbers in array with JavaScript

1 Answer

0 votes
let array = [1, 1, 2, 3, 3, 5, 2, 3, 3, 3, 3, 2, 1, 1, 5];

let result = array.reduce(function(subarr, num) { // creates subarrays for each series 
    if (subarr.length && subarr[subarr.length - 1][0] === num) {
        subarr[subarr.length - 1].push(num)
    } else {
        subarr.push([num]);
    }  
    return subarr
},[]).reduce(function(subarr, num) { // get subarray with the longest series 
  return num.length > subarr.length ? num : subarr;
});


console.log('Series length = ',result.length);
console.log('Number = ',result[0]);




/*
run:

Series  length =  4
Number =  3

*/

 



answered May 24, 2023 by avibootz
...