Vì vậy, chúng tôi thực hiện một chức năng theo chuỗi chữ và mảng chúng tôi muốn xem xét. nó trả về một mảng mới với các kết quả phù hợp được tìm thấy. Chúng ta tạo một đối tượng regexp mới bên trong hàm này và sau đó thực hiện một String.search trên mỗi phần tử phần tử trong mảng. Nếu tìm thấy, nó sẽ đẩy chuỗi vào một mảng mới và trả về.
// 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 [email protected] into our matchbin.
match_bin.push(target_arr[i]);
}
}
return match_bin;
}
// arr_grep(/.*this_word.*/ig, someArray)
Cách bạn không sử dụng vòng lặp? –
Bạn đang tìm kiếm một kết quả phù hợp với tất cả các biểu thức (AND), hoặc bất kỳ biểu thức nào (OR)? – Arth
Với jquery bạn có thể sử dụng jQuery.inArray(); – GillesC