我试图在.filter()
方法中使用RegExp,问题是我在regexp上使用/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