String.prototype.replace()方法中可以定一个替换函数func
详见:https://developer.mozilla.org...
可以传入的四类参数是:
match
匹配的子串。(对应于上述的$&。)
p1,p2, ...
假如replace()方法的第一个参数是一个RegExp 对象,则代表第n个括号匹配的字符串。(对应于上述的$1,$2等。)例如,如果是用 /(\a+)(\b+)/ 这个来匹配,p1 就是匹配的 \a+,p2 就是匹配的 \b+。
offset
匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是 'abcd',匹配到的子字符串是 'bc',那么这个参数将会是 1)
string
被匹配的原字符串。
我使用str.replace(reg,function(){})
方法处理一些字符串,但是现在我只希望拿到第三个参数offset,
由于p的数量不确定 所以这样写str.replace(reg,function(m,p,offset){console.log(offset)})
会出错,因为p有可能有多个比如str.replace(reg,function(m,p1,p2,offset){console.log(offset)})
我如何才能精准地跳过之前没用的参数,只拿offset呢?
谢大神
arguments[arguments.length - 2]