Files
30-seconds-of-code/snippets/js/s/index-of-substrings.md
Angelos Chalaris 4d0316a062 Update covers
2023-05-07 22:25:00 +03:00

946 B

title, type, language, tags, author, cover, dateModified
title type language tags author cover dateModified
Index of substrings snippet javascript
string
algorithm
generator
chalarangelo armchair-in-yellow 2020-12-31T13:58:51+02:00

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

  • Use Array.prototype.indexOf() to look for searchValue in str.
  • Use yield to return the index if the value is found and update the index, i.
  • Use a while loop that will terminate the generator as soon as the value returned from Array.prototype.indexOf() is -1.
const indexOfSubstrings = function* (str, searchValue) {
  let i = 0;
  while (true) {
    const r = str.indexOf(searchValue, i);
    if (r !== -1) {
      yield r;
      i = r + 1;
    } else return;
  }
};
[...indexOfSubstrings('tiktok tok tok tik tok tik', 'tik')]; // [0, 15, 23]
[...indexOfSubstrings('tutut tut tut', 'tut')]; // [0, 2, 6, 10]
[...indexOfSubstrings('hello', 'hi')]; // []