Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

JavaScript นับตัวอักษรซ้ำ

สมมติว่าเรามีสตริงแบบนี้:

const str = 'aabbcde';

ที่นี่ เรามี 2 a's, 2 b's 1c 1d และ 1e เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงดังกล่าว ฟังก์ชันควรสร้างสตริงที่มีจำนวนตัวอักษรตามด้วยตัวอักษร ดังนั้น สำหรับสตริงข้างต้น ผลลัพธ์ควรเป็นดังนี้:

const output = '2a2b1c1d1e';

ตัวอย่าง

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

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์ดังนี้:

2a2b1c1d1e