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
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
Repeat a string using recursion ↴
Recursion The act of a function calling itself.
Recursion is used to solve problems that contain smaller sub-problems.
A recursive function can receive two inputs: a base case (ends recursion) or a recursive case (resumes recursion).
Use recursion to find the factorial of 5.
let x = 5;
function factorial(num) {
if (num > 1) { Recursive call
return num * factorial(num - 1);
}
else { Base case
return 1;
};
}
call function
factorial(x); returns ↴
120 factorial of 5 → 120
Initialize a variable to hold the string to repeat.
const string1 = "All work and no play!" → user input
Initialize a variable to hold the number of times to repeat the string.
const number1 = 3 → user input
Define a function repeatString() to repeat a string n times.
function repeatString(str, num) {}
The function takes a string str and a number num and returns a new string that consists of the original string repeated num times. The original string is unchanged.
Base case
If the number is less than 0 return an empty string and end execution of function.
if (num < 0) return ""
Base case
If the number is 1 return the string itself and end execution of function.
if (num === 1) return str
Recursive case
else if the number is greater than 2 concatenate the string with the result of the function called with num - 1
else return str + repeatString(str, num - 1)
Call the function with ↴
repeatString(string1, number1);
Repeat a string 3 times
const string1 = "All work and no play!";
const number1 = 3;
function repeatString(str, num) {
if (num < 0) return "";
if (num === 1) return str;
else return str + repeatString(str, num - 1);
}
call function
repeatString(string1, number1); returns ↴
"All work and no play!All work and no play!All work and no play!"