只是想知道,是否有一种方法可以向.includes方法添加多个条件,例如:

    var value = str.includes("hello", "hi", "howdy");

想象一下逗号表示“或”。

它现在询问字符串是否包含hello, hi或howdy。所以只有当其中一个条件为真。

有什么方法可以做到吗?


当前回答

即使有且只有一个条件为真,它也能工作:

var str = "bonjour le monde vive le javascript";
var arr = ['bonjour','europe', 'c++'];

function contains(target, pattern){
    var value = 0;
    pattern.forEach(function(word){
      value = value + target.includes(word);
    });
    return (value === 1)
}

console.log(contains(str, arr));

其他回答

那么['hello', 'hi', 'howdy'].includes(str)呢?

即使有且只有一个条件为真,它也能工作:

var str = "bonjour le monde vive le javascript";
var arr = ['bonjour','europe', 'c++'];

function contains(target, pattern){
    var value = 0;
    pattern.forEach(function(word){
      value = value + target.includes(word);
    });
    return (value === 1)
}

console.log(contains(str, arr));

你也可以这样做:

Const STR = "hi, there" Const res = str.includes("hello") || str.includes("hi") || str.includes('howdy'); console.log (res);

只要其中一个include返回真值,value就为真,否则,它就为假。这在ES6中工作得非常好。

const givenArray = ['Hi, how are you', 'how are you', 'howdy, how you doing'] const includeValues = ["hello", "hi", "howdy"] const filteredStrArray = givenArray。filter(str => includeValues)str.toLowerCase().includes(value))) console.log (filteredStrArray);

这取决于你在什么上下文中使用它。 我在一个对象上使用它来检查是否有任何键有一个空字符串或null作为它的值,它工作

Object.values(object).includes('' || null)