Cách đơn giản: duyệt chuỗi, đếm ký tự khớp.
Ví dụ
let s = "hello world!";
let searchChar = "l";
let count = 0;
for (let i = 0; i < s.length; i++) {
if (s[i] === searchChar) count++;
}
console.log(count); // 3
Cách hiện đại hơn (ES6+)
// spread + filter const count = [...s].filter(c => c === searchChar).length; // regex (global) const count2 = (s.match(new RegExp(searchChar, 'g')) || []).length; // reduce const count3 = [...s].reduce((acc, c) => acc + (c === searchChar), 0);
Lưu ý: Với Unicode (emoji, ký tự đặc biệt), dùng [...s] hoặc Array.from(s) thay s[i] để tránh surrogate pair issue.