Использование регулярного выражения для фильтрации массива

Я пытаюсь использовать 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

0 ответов

Другие вопросы по тегам