在下面的代码段中,我正在尝试替换从范围中找到的哈希映射。
var maps = new Array();
maps["k"] = 'Letter K';
maps["g"] = 'Letter G';
maps["c"] = 'Letter C';
var regex = /([kgc])a([kgc])a([kgc])a/g;
var text = 'kagaca';
text = text.replace(regex,maps["$1"]+maps["$2"]+maps["$3"]);//this does'nt work
console.log(text);
text = 'kagaca';
text = text.replace(regex,maps["k"]+' '+ maps["g"]+' '+ maps["c"]);//this works
console.log(text);

静态正则表达式有效,我无法从范围中替换它。
答案 0 :(得分:2)
我在setOptions
中使用声明的函数成功了。我认为javascript误解了地图中调用的setOptions
。
replace