JavaScript, String, Algorithm

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.
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;
countSubstrings('tiktok tok tok tik tok tik', 'tik'); // 3
countSubstrings('tutut tut tut', 'tut'); // 4

Recommended snippets

  • indexOfSubstrings

    JavaScript, String

    Finds all the indexes of a substring in a given string.

  • mapString

    JavaScript, String

    Creates a new string with the results of calling a provided function on every character in the given string.

  • palindrome

    JavaScript, String

    Checks if the given string is a palindrome.