## DEV Community is a community of 695,394 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

# Substring and stuff with JavaScript

Vishwa.R
I'm just passionately curious about everything I admire. A computer admirer and a coder with his brackets open.

## What is a string?

A string is a thin wire, you used to hang your clothes to dry. Just kidding !
A string in computer terms is a sequence of characters, we use strings to represent words or a sequence of characters in programming. Here's an example for a string,

## So, What is a substring, then?

A substring is nothing but a string inside a string. But remember, substrings are contiguous!. If it isn't clear, don't worry, we'll get it right. Have a look at the below gist.

### Bonus insight

Let a given string has a length of 5, let us take it as a variable `n`, then the total number of possible substrings is given by,

`Total possible substrings = n*(n+1)/2`

for example, let us take `n` as 5 as we assumed above, then

`5*(5+1)/2` which turns into `(5*6)/2`, eventually yields the value of `15` (which is the total number of possible substrings for a string of length 5).

⚡Note:
Notice that the substrings are contiguous, notice how `wa` or `wd` are not substrings of `wsad`. Only adjoining sequence characters are taken from the string, and are called as substrings.

Now take a deep breath, we are going to dive into the JavaScript ocean🥽

## JavaScript code for slicing substrings

So, let us look at the JavaScript code step-by-step for printing (I mean console logging) all the substrings for a given string.
Let us start by initializing the input string and the length of the input string.

These two will be passed to a function called `FindSubstring`, which contains 3 nested `for` loops. The first `for` loop is to identify the starting point of the string passed to the function. We use iterator `i` looping from 0 to <n.

After this, we move on to the second `for` loop, where we iterate using iterator `j` from i to <n. Using this second `for` loop, we determine the ending point. Take a look at the below gist,

Now, after determining the starting and ending point of the input string, we use a third `for` loop to `console log` the sequence of characters from starting point to ending point. For that, we loop using iterator `k` from i to <j+1. Inside the loop we `console log` the sequence of characters as follows,

We use `charAt` method above to pass in the string index, i.e `k`.

## NO!

Not until we call our `FindSubstring` function and pass it both `inpstring` and `n` values. Let us do that to wrap it up,

## Awesome ✨🎉, we've done it.

You can also take a look at this JSFiddle to change input strings to your wish.

Feel free to correct me if I am wrong, give a 💖 if you like the content. Thanks for reading and have a nice day.

### Acknowledgements:

Cover image : Photo by Timothy Muza on Unsplash