gpt4 book ai didi

Javascript:如何将找到的 string.replace 值传递给函数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:57:53 24 4
gpt4 key购买 nike

当我遇到这样的事情时:

var str = "0123";
var i = 0;
str.replace(/(\d)/g,function(s){i++;return s;}('$1'));
alert(i);

为什么“i”等于 1 而不是 4?另外,是否可以将 $1 的实际值传递给函数(在本例中为 0,1,2,3)?

最佳答案

当您使用 string.replace(rx,function) 时,将使用以下参数调用该函数:

  • 匹配的子串
  • 匹配 1、2、3、4 等(带括号的子串匹配)
  • 子串的偏移量
  • 完整的字符串

You can read all about it here

在您的情况下,$1 等于 Match1,因此您可以将代码重写为以下内容,它应该可以按您的意愿工作:

var str = "0123";
var i = 0;
str.replace(/(\d)/g,function(s,m1){i++;return m1;});
alert(i);

关于Javascript:如何将找到的 string.replace 值传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4712874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com