Array.prototype.indexOf() to look for searchValue in str.yield to return the index if the value is found and update the index, i.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')]; // []
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️