如何检查一个字符串数组是否在JavaScript中包含一个字符串?

2022-08-30 00:19:35

我有一个字符串数组和一个字符串。我想根据数组值测试此字符串并应用结果条件 - 如果数组包含字符串,请执行“A”,否则执行“B”。

我该怎么做?


答案 1

所有数组都有一个 indexOf 方法(Internet Explorer 8 及更低版本除外),该方法将返回数组中某个元素的索引,如果该元素不在数组中,则返回 -1:

if (yourArray.indexOf("someString") > -1) {
    //In the array!
} else {
    //Not in the array
}

如果您需要支持旧的IE浏览器,则可以使用MDN文章中的代码polyfill此方法。


答案 2

您可以使用该方法并使用如下方法“扩展”Array 类:indexOfcontains

Array.prototype.contains = function(element){
    return this.indexOf(element) > -1;
};

结果如下:

["A", "B", "C"].contains("A")等于true

["A", "B", "C"].contains("D")等于false