JavaScript 检查字符串是否不包含子字符串

要检查字符串是否不包含子字符串,使用逻辑 非 (!) 运算符来否定对 includes() 方法的调用。 非 (!) 运算符在调用真值时返回假,反之亦然。

const str = 'hello world';

if (!str.includes('bye')) {
  console.log('字符串不包含子字符串');
} else {
  console.log('字符串包含子字符串');
}

我们使用逻辑 非 (!) 运算符来否定对 String.includes 方法的调用。

在示例中,我们检查值 bye 是否包含在字符串 hello world 中。

const str = 'hello world';

console.log(str.includes('bye')); // false

console.log(!str.includes('bye')); // true

如果我们在没有逻辑 非 (!) 运算符的情况下使用 includes 方法,则如果值包含在字符串中,则返回 true,否则返回 false。

如果字符串中不包含该值,则通过对 includes 方法的返回值求反。

以下是使用逻辑非 (!) 运算符的更多示例。

console.log(!true); // false
console.log(!false); // true

console.log(!'hello'); // false
console.log(!''); // true
console.log(!null); // true

我们可以想象逻辑 非 (!) 运算符首先将值转换为布尔值,然后翻转该值。

当你否定一个假值时,操作符返回真,在所有其他情况下它返回假。

Falsy 值为:nullundefined空字符串NaN0false

Internet Explorer 不支持 String.includes 方法。 如果必须要支持浏览器,可以改用 indexOf 方法。


使用 indexOf。检查字符串是否不包含子字符串

要检查字符串是否不包含子字符串,可以调用字符串的 indexOf() 方法,将子字符串作为参数传递给它。 如果 indexOf 方法返回 -1,则子字符串不包含在字符串中。

const str = 'hello world';

if (str.indexOf('bye') === -1) {
  console.log('字符串不包含子字符串');
} else {
  console.log('字符串包含子字符串');
}

String.indexOf 方法返回字符串中第一次出现的值的索引。 如果该值不包含在字符串中,则该方法返回 -1。

如果满足条件并且 if 块运行,我们可以确定提供的值不包含在字符串中。

查看笔记

扫码一下
查看教程更方便