小编tsm*_*ngo的帖子

是否有可能将捕获的值强制转换为JavaScript中的replace()内的数字?

如果我{n}要用捕获的值替换字符串中出现的所有内容,如下所示:

"Replacing {1} multiple {2} occurrences.".replace(/\{(\d)\}/g, "$1")
Run Code Online (Sandbox Code Playgroud)

结果将是正确的:

Replacing 1 multiple 2 occurrences.
Run Code Online (Sandbox Code Playgroud)

另外,如果我要检查typeof更换"$1":

"Replacing {1} multiple {2} occurrences.".replace(/\{(\d)\}/g, typeof "$1")
Run Code Online (Sandbox Code Playgroud)

我会得到预期的结果:

Replacing string multiple string occurrences.
Run Code Online (Sandbox Code Playgroud)

我想做什么:

但是,我想要做的是使用捕获的值作为数组索引,为此,我想将捕获的值强制转换为数字parseInt,如下所示:

"Replacing {1} multiple {2} occurrences.".replace(/\{(\d)\}/g, parseInt("$1"))
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会返回:

Replacing NaN multiple NaN occurrences.
Run Code Online (Sandbox Code Playgroud)

我的问题:

为什么我无法将这些捕获的值强制转换为数字?

javascript

0
推荐指数
1
解决办法
60
查看次数

标签 统计

javascript ×1