Index of Substrings

Beginner

This tutorial is from open-source community. Access the source code

Introduction

In this lab, we will explore the fundamentals of JavaScript programming language. You will learn the basic syntax, data types, functions, and control structures of JavaScript. By the end of the lab, you will be able to write simple programs using JavaScript and have a solid understanding of the language. This lab is designed for beginners who have no prior experience in programming or JavaScript.

Index of Substrings

To find all the indexes of a substring in a given string, follow these steps:

  1. Open the Terminal/SSH and type node to start practicing coding.
  2. Use the built-in method Array.prototype.indexOf() to search for searchValue in str.
  3. Use yield to return the index if the value is found and update the index, i.
  4. Use a while loop that will terminate the generator as soon as the value returned from Array.prototype.indexOf() is -1.

Here's an example code to implement the above steps:

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;
  }
};

You can test the function with the following code:

[...indexOfSubstrings("tiktok tok tok tik tok tik", "tik")]; // [0, 15, 23]
[...indexOfSubstrings("tutut tut tut", "tut")]; // [0, 2, 6, 10]
[...indexOfSubstrings("hello", "hi")]; // []

Summary

Congratulations! You have completed the Index of Substrings lab. You can practice more labs in LabEx to improve your skills.