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