Giả sử tôi có hai mảng: một là regex và một là đầu vào. Điều gì, sau đó, là cách tốt nhất - về hiệu suất và khả năng đọc - để làm một cái gì đó giống như đầu ra?làm thế nào chúng ta có thể lọc các phần tử trong mảng với regex trong mảng với javascript?
var regex = [
'/rat/',
'/cat/'
'/dog/',
'/[1-9]/'
]
var texts = [
'the dog is hiding',
'cat',
'human',
'1'
]
kết quả cuối cùng là
result = [
'human'
]
Vâng, những gì tôi đã suy nghĩ là phải làm một cái gì đó giống như reduce
:
// loop by text
for (var i = texts.length - 1; i >= 0; i--) {
// loop by regex
texts[i] = regex.reduce(function (previousValue, currentValue) {
var filterbyRegex = new RegExp("\\b" + currentValue + "\\b", "g");
if (previousValue.toLowerCase().match(filterbyRegex)) {
delete texts[i];
};
return previousValue;
}, texts[i]);
}
Nhưng, đó là không thể đọc được? Có lẽ có một cách khác mà tôi đã không nghĩ đến.
Xem thông tin này tại http://stackoverflow.com/questions/13107048/javascript-desconstrutioning-menu –
@IamAndy câu hỏi đó có liên quan như thế nào đến từ xa này? – Alnitak