我有一个字符串数组和一个字符串。我想根据数组值测试这个字符串并对结果应用条件 - 如果数组包含字符串,则执行“A”,否则执行“B”。
我怎样才能做到这一点?
我有一个字符串数组和一个字符串。我想根据数组值测试这个字符串并对结果应用条件 - 如果数组包含字符串,则执行“A”,否则执行“B”。
我怎样才能做到这一点?
您可以使用该indexOf
方法并使用以下方法“扩展” Array 类contains
:
Array.prototype.contains = function(element){
return this.indexOf(element) > -1;
};
结果如下:
["A", "B", "C"].contains("A")
等于true
["A", "B", "C"].contains("D")
等于false
var stringArray = ["String1", "String2", "String3"];
return (stringArray.indexOf(searchStr) > -1)
创建这个函数原型:
Array.prototype.contains = function ( needle ) {
for (var i in this) { // Loop through every item in array
if (this[i] == needle) return true; // return true if current item == needle
}
return false;
}
然后您可以使用以下代码在数组 x 中搜索
if (x.contains('searchedString')) {
// do a
}
else
{
// do b
}
这将为您完成:
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle)
return true;
}
return false;
}