Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm ký tự lặp liên tiếp nhiều nhất trong chuỗi và độ dài bằng JavaScript


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi. Hàm phải trả về mảng đúng hai phần tử: phần tử đầu là ký tự xuất hiện liên tiếp nhiều nhất trong chuỗi, phần tử hai là số lần xuất hiện.

Ví dụ

Dưới đâ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));

Kết quả

['f', 5]