如何在JavaScript中匹配针对数组的模式

How to match a pattern against an array in JavaScript?

本文关键字:数组 模式 JavaScript      更新时间:2023-09-26

我们在jQuery中有$.inArray(searchString, array)函数,但它将在数组中存在的值中查找字符串的精确匹配。但是如何检查数组中的字符串,如indexOf ?

例如,让我们取字符串"mark_zuck",如果数组看起来像这样,["mark", "sheryl", "zuck"]。可以通过使用循环将数组中的每个值与给定字符串(如

)进行比较来实现这一点。
for (i=0; i<array.length; i++) {
    searchString.indexOf(array[i]);
}

我正在寻找一个更好的方法来实现这一点。请帮助。

array.filter(function(a){
  return searchString.indexOf(a) !== -1;
}

可以使用array。Some also

var monthNames = ["mark", "sheryl", "zuck"];
var chk = 'mark_zuck';
var test = monthNames.some(function(e) {    
   return chk.indexOf(e);
});
console.log(test);

小提琴:http://jsfiddle.net/haqk2snr/