Checking whether a string has another substring is a common operation we do in JavaScript programs.
In this article, we’ll look at how to check whether a string has another substring in JavaScript.
String.prototype.includes
We can use the includes
method that comes with string instances to check whether a string has a substring in JavaScript.
For instance, we can write:
const string = "foo";
const substring = "o";
console.log(string.includes(substring));
It returns true
is the substring
is in the string
and false
otherwise.
So this should return true
.
We can also pass in a second argument with the index to start searching from.
So we can write:
console.log(str.includes('to be', 1))
to start searching str
from index 1.
It’s included with ES6.
If we’re running a JavaScript program in an environment that doesn’t include ES6, we can add the following polyfill:
if (!String.prototype.includes) {
String.prototype.includes = function(search, start) {
'use strict';
if (search instanceof RegExp) {
throw TypeError('first argument must not be a RegExp');
}
if (start === undefined) { start = 0; }
return this.indexOf(search, start) !== -1;
};
}
String.prototype.indexOf
Also, we can use the indexOf
to get the first index of the substring in a string.
For instance, we can write:
const string = "foo";
const substring = "o";
console.log(string.indexOf(substring) !== -1);
If indexOf
returns -1, then the substring
isn’t in the string
.
Otherwise, substring
is in string
.
Conclusion
We can use the indexOf
or includes
method to check whether a JavaScript substring is in another string.