count occurrences of a character
in a string : case-insensitive
[ for loop | toLowerCase ]

Count occurrences of a given character in a string

Write a function that takes a string and returns the number of occurrences of a given single character found inside that string.


Example ...

Enter a string and a character to count ...

"Many moons ago" string

"o" character to count

The function will return ↴

3 number of case-insensitive occurrences of given character found inside the string.

Strings are a sequence of zero or more characters written inside quotes used to represent text.

Strings may consist of letters, numbers, symbols, words, or sentences.

Strings are immutable, they cannot be changed.

Each character in a string has an index.

The first character will be index 0 the second character will be index 1 and so on.

There are two ways to access an individual character in a string.

charAt() method

const str1 = "abc"; string

str1.charAt(0); character at index 0 → "a"

str1.charAt(1); character at index 1 → "b"

str1.charAt(2); character at index 2 → "c"

str1.charAt(3); character at index 3 → "" index not found

Alternatively use at() or slice() methods

bracket notation []

const str2 = "abc"; string

str2[0]; character at index 0 → "a"

str2[1]; character at index 1 → "b"

str2[2]; character at index 2 → "c"

str2[3]; character at index 3 → undefined index not found


Case sensitivity defines whether upper case and lower case letters are treated as distinct or equivalent.

case-insensitive will NOT distinguish between upper case and lower case letters.

"A" will be treated as equivalent to the letter "a" and vice versa. They will be treated as the same.


Numbers are used to represent both integer and floating-point values.

Numbers are most commonly expressed in literal forms like 255 or 3.14159 ↴

let num1 = 5; → number

let num2 = 2.5; → number

let num3 = num1 + num2;

console.log(num3); returns ↴

7.5 → number


Count occurrences of a character in a string using ↴

for loop → executes a block of code a number of times.

toLowerCase() method → returns the value of the string converted to lower case.


for loop repeatedly executes a block of code until a specified condition evaluates to false.

The loop runs a block of code a set number of times, defined by an initialization, a condition, and an increment.

for (let x = 0; x < 4; x++) {

console.log(x);

}

Loop variable x is initialized to 0

Condition x < 4 is checked before each iteration.

The loop will continue to run as long as x is less than 4

The loop repeatedly executes a block of code 4 times, from 0 to 3

For each iteration of the loop, the current value of x is printed to the console.

After each iteration, x is incremented by 1 x++

When x reaches 4 the condition evaluates to false, terminating the loop.

0

1

2

3 → printed to console


toLowerCase() method converts all letters to lower case. The original string is unchanged.

const str3 = "hELlo wORLd";

str3.toLowerCase(); returns ↴

"hello world" → lower case


Initialize a variable to hold the string to be searched.

const string1 = "HELLO WORLD, hello world"; → user input

Initialize a variable to hold the character to count.

const char1 = "o"; → user input


Define a function countOccurrences to count occurrences of a character in a string.

function countOccurrences(str, char) {}

The function takes two parameters ↴

string1 the string to be searched, str

char1 the character to count, char

The function returns the number of occurrences of the specified character found in the string.

Convert str to lower case to make search case-insensitive.

const lowerStr = str.toLowerCase() lowerStr

Convert char to lower case to make search case-insensitive.

const lowerChar = char.toLowerCase() lowerChar

Initialize a counter to zero to count occurrences of lowerChar

let count = 0 count

Loop through each character in lowerStr

for (let x = 0; x < lowerStr.length; x++) {}

If current character lowerStr[x] matches lowerChar

if (lowerStr[x] === lowerChar)

Increment counter by 1

count++

After the loop completes return the count.

return count


Call the function with ↴

countOccurrences(string1, char1);


Count occurrences of the character "o" in string | case-insensitive

const string1 = "HELLO WORLD, hello world";

const char1 = "o";

function countOccurrences(str, char) {

const lowerStr = str.toLowerCase();

const lowerChar = char.toLowerCase();

let count = 0;

for (let x = 0; x < lowerStr.length; x++) {

if (lowerStr[x] === lowerChar) {

count++;

}

}

return count;

}

call function

countOccurrences(string1, char1); returns ↴

4

Count occurrences of a given character in a string

character to count