Использование регулярного выражения для фильтрации массива
Я пытаюсь использовать RegExp в .filter()
метод, проблема в том, что я использую /g
на регулярном выражении, поэтому после первой итерации .lasindex
не больше 0 и я получаю false
в результате. Есть ли способ сбросить .lastindex
во время следующей итерации?
function dontGiveMeFive(start, end){
var newArr = [];
var re = new RegExp( "[^5]" , "g");
for (i = start; i <= end; i++){
newArr.push(i);
}
return newArr.filter(function(str){
return re.test(str);});
}
Примеры:
newArr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
true
false
true
false
false
true
false
true
false