Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm ký tự có số lần lặp lại liên tiếp dài nhất trong một chuỗi và độ dài của nó bằng JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript sử dụng một chuỗi. Hàm của chúng ta sẽ trả về một mảng có đúng hai phần tử, phần tử đầu tiên sẽ là các ký tự có số lần xuất hiện liên tiếp nhiều nhất trong chuỗi và phần tử thứ hai sẽ là số lần xuất hiện của nó.

Ví dụ

Sau đây là mã -

const str = 'tdfdffddffsdsfffffsdsdsddddd';
const findConsecutiveCount = (str = '') => {
   let res='';
   let count=1;
   let arr = []
   for (let i=0;i<str.length;i++){
      if (str[i]===str[i+1]){
         count++
      } else {
         if (arr.every(v=>v<count)){
            res=str[i]+count
         }
         arr.push(count)
         count=1
      }
   }
   return !res?['',0]:[res.slice(0,1),res.slice(1)*1];
};
console.log(findConsecutiveCount(str));

Đầu ra

['f', 5]