如何指定js传入参数的位置?

勇敢的少年
  • 1k

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呢?
谢大神

回复
阅读 3.2k
1 个回答
✓ 已被采纳

arguments[arguments.length - 2]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏