In a continuation of my last post, I want to cover another useful method for string objects…indexOf(). I know indexOf() sounds cryptic, but it is fairly straight forward. It simply allows you to search to see if a string contains a substring.
A substring is a portion of a string. For example, if I have the following string…”Hello World”, then a substring could be “World”. So it is a portion of the entire string. Let’s see an example…
var myString = "This is an example of using the indexOf method to search a string for a substring."; var stringLocation = myString.indexOf("example"); console.log(stringLocation);
If you run the aforementioned code, the value of the variable, stringLocation, would be 11. Why 11? Well, indexOf() returns the beginning location in the string where the item for which you are searching begins. Counting is zero-based (begins at zero). So if we count the characters of the string…
T – 0 | h – 1 | i – 2 | s – 3 | [space] – 4 | i – 5 | s – 6 | [space] – 7 | a – 8 | n – 9 | [space] – 10 | e – 11
Now that you have the starting location for the substring, you can then perform some string manipulation, but more on that in future posts.
Now, what happens if the substring does not exist? Then the indexOf() method returns -1.
var myString = "This is an example of using the indexOf method to search a string for a substring."; var stringLocation = myString.indexOf("not found"); console.log(stringLocation);
In this example, the stringLocation variable would be -1. You could use this in IF statements, etc.
Happy coding!
Clay Hess