real-time character frequency counter:
import React, { useState } from "react";
function CharFrequencyCounter() {
const [text, setText] = useState("");
const [frequency, setFrequency] = useState({});
const handleChange = (e) => {
const input = e.target.value;
setText(input);
// Calculate character frequency
const freq = {};
for (let char of input) {
freq[char] = (freq[char] || 0) + 1;
}
setFrequency(freq);
};
return (
<div style={{ padding: "20px", maxWidth: "400px", fontFamily: "Arial" }}>
<h2>Character Frequency Counter</h2>
<input
type="text"
value={text}
onChange={handleChange}
placeholder="Type here..."
style={{ width: "100%", padding: "8px", fontSize: "16px" }}
/>
{text && (
<div style={{ marginTop: "20px" }}>
<h3>Character Frequencies:</h3>
<ul>
{Object.entries(frequency).map(([char, count]) => (
<li key={char}>
'{char}': {count}
</li>
))}
</ul>
</div>
)}
</div>
);
}
export default CharFrequencyCounter;
How It Works
- Input Field:
valueis bound totextstateonChangeupdatestextand calculates character frequency
- Frequency Calculation:
- Loop through each character in the input string
- Increment its count in an object (
freq) - Update
frequencystate
- Rendering:
- Convert
frequencyobject into[char, count]array usingObject.entries - Render each pair as a list item
- Convert
✅ Features
- Updates on every keystroke
- Shows a live count of each character
- Works with any input string
- Clean, reusable, and minimal UI