Nous créons donc une fonction qui prend une chaîne littérale et le tableau que nous voulons parcourir. Elle renvoie un nouveau tableau avec les correspondances trouvées. Nous créons un nouvel objet regexp à l'intérieur de cette fonction, puis nous exécutons une String.search sur chaque élément du tableau. Si elle est trouvée, elle pousse la chaîne dans un nouveau tableau et renvoie.
// literal_string: a regex search, like /thisword/ig
// target_arr: the array you want to search /thisword/ig for.
function arr_grep(literal_string, target_arr) {
var match_bin = [];
// o_regex: a new regex object.
var o_regex = new RegExp(literal_string);
for (var i = 0; i < target_arr.length; i++) {
//loop through array. regex search each element.
var test = String(target_arr[i]).search(o_regex);
if (test > -1) {
// if found push the element@index into our matchbin.
match_bin.push(target_arr[i]);
}
}
return match_bin;
}
// arr_grep(/.*this_word.*/ig, someArray)