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

JavaScript Đếm ký tự lặp lại

Giả sử, chúng ta có một chuỗi như thế này -

const str = 'aabbcde';

Ở đây, chúng ta có 2a, 2b của 1c 1d và 1e

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một chuỗi như vậy. Sau đó, hàm sẽ tạo một chuỗi với số ký tự theo sau là ký tự.

Do đó, đối với chuỗi trên, đầu ra sẽ giống như -

const output = '2a2b1c1d1e';

Ví dụ

const str = 'aabbcde';
const repeatLetter = (str = '') => {
   const strArr = str.split("").sort();
   let count = 1;
   let i = 1;
   let res = '';
   while (i < strArr.length) {
      if (strArr[i - 1] === strArr[i]) { count++; }
      else {
         res += count + strArr[i - 1];
         count = 1;
      };
      i++;
   };
   res += count + strArr[i - 1];
   return res;
};
console.log(repeatLetter(str));

Đầu ra

Điều này sẽ tạo ra kết quả sau -

2a2b1c1d1e