--- title: countSubstrings tags: string,algorithm,beginner --- Counts the occurrences of a substring in a given string. - Use `Array.prototype.indexOf()` to look for `searchValue` in `str`. - Increment a counter if the value is found and update the index, `i`. - Use a `while` loop that will return as soon as the value returned from `Array.prototype.indexOf()` is `-1`. ```js const countSubstrings = (str, searchValue) => { let count = 0, i = 0; while (true) { const r = str.indexOf(searchValue, i); if (r !== -1) [count, i] = [count + 1, r + 1]; else return count; } }; ``` ```js countSubstrings('tiktok tok tok tik tok tik', 'tik'); // 3 countSubstrings('tutut tut tut', 'tut'); // 4 ```