我正在尝试使用以下代码将字符串与数组进行比较:
var str = "ML00000";
var arr = ["MC", "CV", "ML", "LV"];
for (var i = 0, len = arr.length; i < len; ++i)
{
if (str.indexOf(arr[i]) != -1)
{
document.write("YES");
}
else
{
document.write("NO");
}
}
当前正在返回“NO NO YES NO”——当找到匹配的字符串时,我希望输出为 YES 或 NO。
如有任何帮助,我们将不胜感激!
谢谢 - 马特
最佳答案
您可以使用 Array.some()
:
var exists = arr.some(function(item) {
return str.indexOf(item) != -1;
});
如果至少有一个元素返回 true,则此方法返回 true,然后您可以应用您的逻辑:
if (exists) {
document.write("YES");
}
else {
document.write("NO");
}
希望对您有所帮助。
关于javascript - 无论javascript中的位置如何,数组的匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36088142/