0

我正在尝试在.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
4

0 回答 0