You can use some
to check if there's at least one element verifying your condition :
var hasSome = myArr.some(function(v){ return v.indexOf("oran")>=0 })
If you need the index, a reverse for
loop is the simpler solution :
for (var i=myArr.length; i--;) {
if (myArr[i].indexOf("oran")>=0) break;
}
After the loop, i
is -1
if no element matches, it's its index if one matches.
Note that in ES6 (the next version of JavaScript), you'll have the find
and findIndex
methods on arrays and the includes
method on strings, which means you'll be able to do
var i = myArr.findIndex(v => v.includes("oran"));
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…