Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换为范围和哈希映射_Javascript_Regex_Range - Fatal编程技术网

Javascript 替换为范围和哈希映射

Javascript 替换为范围和哈希映射,javascript,regex,range,Javascript,Regex,Range,在下面的代码片段中,我试图替换从范围中找到的哈希映射 var-maps=new-Array(); 映射[“k”]=“字母k”; 地图[“g”]=“字母g”; 地图[“c”]=“字母c”; var regex=/([kgc])a([kgc])a([kgc])a/g; var text='kagaca'; text=text.replace(正则表达式,映射[“$1”]+映射[“$2”]+映射[“$3”])//这不管用 console.log(文本); text='kagaca'; text=te

在下面的代码片段中,我试图替换从范围中找到的哈希映射

var-maps=new-Array();
映射[“k”]=“字母k”;
地图[“g”]=“字母g”;
地图[“c”]=“字母c”;
var regex=/([kgc])a([kgc])a([kgc])a/g;
var text='kagaca';
text=text.replace(正则表达式,映射[“$1”]+映射[“$2”]+映射[“$3”])//这不管用
console.log(文本);
text='kagaca';
text=text.replace(regex,maps[“k”]+''+maps[“g”]+''+maps[“c”])//这很有效

console.log(文本)我在
replace
中使用声明函数成功。我认为javascript误解了map中调用的
$X

var-maps=new-Array();
映射[“k”]=“字母k”;
地图[“g”]=“字母g”;
地图[“c”]=“字母c”;
var regex=/([kgc])a([kgc])a([kgc])a/g;
var text='kagaca';
text=text.replace(regex,function(){
返回映射[参数[1]]+映射[参数[2]]+映射[参数[3]]
});//这现在起作用了
console.log(文本);
text='kagaca';
text=text.replace(regex,maps[“k”]+''+maps[“g”]+''+maps[“c”])//这很有效
console.log(文本)
text=text.replace(regex,($0,$1,$2,$3)=>maps[$1]+maps[$2]+maps[$3])
“$1”
是字符串$1,而不是
未定义的第一个捕获组中的值。