js 判断字符串包含另一个字符串

在前端开发中,有时需要判断一个字符串是否包含另一个字符串。这在很多场景下都是非常有用的,比如搜索功能的实现、数据过滤等。在 JavaScript 中,我们可以使用 indexOf() 方法或 includes() 方法来实现字符串包含的判断。本文将详细介绍这两种方法的用法,并通过示例代码演示它们的具体应用。
indexOf() 方法
indexOf() 方法用来确定一个字符串在另一个字符串中第一次出现的位置。如果找到了匹配的子字符串,则返回其在父字符串中的起始位置;如果没有找到匹配的子字符串,则返回-1。
语法
string.indexOf(searchValue[, fromIndex])
searchValue: 要搜索的子字符串。fromIndex(可选): 开始搜索的位置。如果省略该参数,则默认从字符串的开头开始搜索。
示例
下面是一个使用 indexOf() 方法来判断字符串包含的示例代码:
let str = "Hello, world!";
let subStr = "world";
if (str.indexOf(subStr) !== -1) {
console.log("字符串包含子字符串");
} else {
console.log("字符串不包含子字符串");
}
运行结果
字符串包含子字符串
includes() 方法
includes() 方法用来判断一个字符串是否包含另一个字符串,返回一个布尔值,表示是否包含。
语法
string.includes(searchValue[, fromIndex])
searchValue: 要搜索的子字符串。fromIndex(可选): 开始搜索的位置。如果省略该参数,则默认从字符串的开头开始搜索。
示例
下面是一个使用 includes() 方法来判断字符串包含的示例代码:
let str = "Hello, world!";
let subStr = "world";
if (str.includes(subStr)) {
console.log("字符串包含子字符串");
} else {
console.log("字符串不包含子字符串");
}
运行结果
字符串包含子字符串
indexOf() vs includes()
两种方法都可以用来判断字符串是否包含另一个字符串,它们的区别在于 indexOf() 返回匹配字符串的位置(如果找到),而 includes() 返回一个布尔值。因此,在只需要知道字符串是否包含另一个字符串时,推荐使用 includes() 方法;而在需要获取匹配字符串位置时,则使用 indexOf() 方法更合适。
总的来说,两种方法都是非常方便实用的,根据具体需求选择合适的方法来判断字符串包含另一个字符串。
极客笔记