const myArr = [ "blue", "red", "orange", "green" ];
我想知道如何检查数组是否包含字符串的一部分以及匹配字符串的索引号。
我在网上看到过这个,但是索引号不显示位置,除非它是数组中的全名。
myArr.indexOf("oran")
最佳答案
您可以使用 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
方法,并且在 includes
中使用字符串上的方法,这意味着你将能够做
var i = myArr.findIndex(v => v.includes("oran"));
关于javascript - 检查数组是否包含字符串的一部分并找到索引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554117/