假設我有兩個數組:一個是正則表達式,另一個是輸入數據。那麼,什麼是最好的方式 - 在性能和可讀性方面 - 做類似輸出的東西?我們如何過濾javascript中的正則表達式數組中的元素?
var regex = [
'/rat/',
'/cat/'
'/dog/',
'/[1-9]/'
]
var texts = [
'the dog is hiding',
'cat',
'human',
'1'
]
最終的結果是
result = [
'human'
]
嗯,我在想什麼是應該做類似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]);
}
但是,是不是可讀?也許還有另一種我沒有想到的方式。
看到這個在http://stackoverflow.com/questions/13107048/javascript-desconstrutioning-menu –
@IamAndy這個問題是如何遠程相關的這一個? – Alnitak