myArr = ["blue", "red", "orange", "green"]
我想知道如何检查数组是否包含字符串的一部分和索引#
在网上看到这个,但索引#没有显示位置,除非它是数组中的全名。
alert(className.indexOf("oran"));
答案 0 :(得分:8)
您可以使用some
检查是否至少有一个元素验证您的情况:
var hasSome = myArr.some(function(v){ return v.indexOf("oran")>=0 })
如果您需要索引,则反向for
循环是更简单的解决方案:
for (var i=myArr.length; i--;) {
if (myArr[i].indexOf("oran")>=0) break;
}
循环之后,如果没有元素匹配,i
为-1
,如果匹配,则为索引。
请注意,在ES6(下一版本的JavaScript)中,您将在数组上使用find
和findIndex
方法,在字符串上使用contains
方法,这意味着您将拥有能够做到
var i = myArr.findIndex(v ==> v.contains("oran"));