我有这个数组:
array = ['S2B_MSIL1C_20180310T041559_N0206_R090_T46QEK_20180310T075716.SAFE'];
和这个正则表达式:
regex = new RegExp('S2B_MSIL1C_20180310T041559_N0206_R090_T46QEK_20180310T075716' + '.SAFE','g');
当我使用array.includes(regex);
时,会返回false
。我错过了什么吗?
答案 0 :(得分:2)
使用Array.some
var yourRegex = /pattern/g ;
var atLeastOneMatches = array.some(e => yourRegex.test(e));
在数组中的第一个返回true之后,Array.some返回true。如果它没有true
遍历整个数组,则返回false。
答案 1 :(得分:1)
RgExps不用于搜索数组,包含方法用于查找数组中是否包含所需对象。在这里你传递了Regex对象到你的include方法,所以它告诉你你的数组中没有正则表达式对象。
你必须做以下其中一项:
array.includes('S2B_MSIL1C_20180310T041559_N0206_R090_T46QEK_20180310T075716' + '.SAFE');
或
var yourRegex = /pattern/g ;
for(var i = 0 ; i<arr.length ; i++)
{
if(yourRegex.test(arr[i]))
{
//Founded
return true;
}
}