How to check if a string array contains one string in JavaScript?
本问题已经有最佳答案,请猛点这里访问。
我有一个字符串数组和一个字符串。我想根据数组值测试这个字符串,并应用一个条件——如果数组包含字符串do"a",则执行"b"。
我该怎么做?
所有数组都有一个
1 2 3 4 5 | if (yourArray.indexOf("someString") > -1) { //In the array! } else { //Not in the array } |
如果需要支持旧的IE浏览器,可以使用MDN文章中的代码多填充此方法。
您可以使用
1 2 3 | Array.prototype.contains = function(element){ return this.indexOf(element) > -1; }; |
结果如下:
1 2 3 | var stringArray = ["String1","String2","String3"]; return (stringArray.indexOf(searchStr) > -1) |
创建此函数原型:
1 2 3 4 5 6 | Array.prototype.contains = function ( needle ) { for (i in this) { if (this[i] == needle) return true; } return false; } |
然后可以使用以下代码在数组x中搜索
1 2 3 4 5 6 7 | if (x.contains('searchedString')) { // do a } else { // do b } |
这将为您做到:
1 2 3 4 5 6 7 8 | function inArray(needle, haystack) { var length = haystack.length; for(var i = 0; i < length; i++) { if(haystack[i] == needle) return true; } return false; } |
我在堆栈溢出问题javascript中找到了它,它相当于_Array()中的php。