We are required to write a JavaScript function that takes in two strings, say str1 and str2. The function should then count and return the number of times str2 appears in str1'
For example −
count('this is a string', 'is') should return 2;Example
The code for this will be −
const str1 = 'this is a string';
const str2 = 'is';
const countOccurrences = (str1, str2, allowOverlapping = true) => {
str1 += "";
str2 += "";
if (str2.length <= 0) return (str1.length + 1);
var n = 0,
pos = 0,
step = allowOverlapping ? 1 : str2.length;
while (true) {
pos = str1.indexOf(str2, pos);
if (pos >= 0) {
++n;
pos += step;
} else break;
}
return n;
};
console.log(countOccurrences(str1, str2));Output
And the output in the console will be −
2