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

JavaScript đếm chữ cái lặp lại


Giả sử chúng ta có chuỗi như sau:

const str = 'aabbcde';

Ở đây có 2 chữ a, 2 chữ b, 1 chữ c, 1 chữ d, 1 chữ e.

Cần viết hàm nhận chuỗi như vậy. Hàm xây dựng chuỗi với số lượng ký tự theo sau là ký tự đó.

Đầu ra cho chuỗi trên:

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));

Kết quả

Điều này sẽ tạo ra đầu ra sau:

2a2b1c1d1e