Javascript 替换对象和数组中的元素?

Javascript 替换对象和数组中的元素?,javascript,Javascript,如果我从对象y中提取,例如'JPY 20,USD 20',我想用扩展名DOLLAR和JEN替换USD和JPY的缩写。它必须是这样的: “20日元,20美元”替换为“20日元,20美元” var x = { 'U': 'DOLLAR', 'J': 'JEN', 'E': 'EURO' }; var y = [ 'U 50', 'J 20, U 20', 'E 20, J 10' ]; var z = y[Math.floor(Math.ran

如果我从对象y中提取,例如'JPY 20,USD 20',我想用扩展名DOLLAR和JEN替换USD和JPY的缩写。它必须是这样的: “20日元,20美元”替换为“20日元,20美元”

var x = {
    'U': 'DOLLAR',
    'J': 'JEN',
    'E': 'EURO'
};


var  y = [
    'U 50',
    'J 20, U 20',
    'E 20, J 10'
];

var z = y[Math.floor(Math.random() * y.length)]; //example 'JPY 20, USD 20'

for(var key in x) {
    var c = new RegExp({key}, "g");
    z = z.replace(key, x[key]);  
    console.log(z);      //It should looks like //'JEN 20, DOLLAR 20'
}  
var x={U:'DOLLAR',J:'JEN',E:'EURO'},
y=['U 50','J 20,U 20','E 20,J 10'],
z=y[Math.floor(Math.random()*y.length)],
钥匙
正则表达式;
用于(输入x){
regex=新的RegExp(键“g”);
z=z.replace(regex,x[key]);
}  

控制台日志(z)您可以获取所有要替换的字符串,并将其与管道连接以进行替代搜索,然后替换为新值

var数组=['u50','j20,u20','e20,j10'],
替换={U:'美元',J:'仁',E:'欧元'},
string=array[Math.floor(Math.random()*array.length)],
regex=newregexp(Object.keys(replacements.join(“|”),“g”);
string=string.replace(regex,key=>replacements[key]);

console.log(字符串)如果变量x={U:'DOLLAR',J:'JEN',E:'EURO'},y=['U 50',J 20,U 20',E 20,J 10',],我应该如何设置正则表达式;随机'J 20,U 20';console.log返回“EURO 20,JEURON 10”只需使用相同的代码即可。替换字符串的长度并不重要,除非它们是唯一的。console.log返回JEURON而不是JEN