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