Javascript 用lodash替换字符串

Javascript 用lodash替换字符串,javascript,string,lodash,Javascript,String,Lodash,我有一个具有多个属性的对象,我想在字符串中替换这些属性 replaceBy:{ "PRS_JOBS_MAQUINA":"PRS_JOBS_WORKCENTER", "CD_MAQ":"CD_WKC", "DT_INI_MAQ":"DT_INI_WKC", "DT_INI_JM" :"DT_INI_JW" } 有没有一种雄辩的方法可以用lodash做到这一点? 这是绳子 " AND ( CD_

我有一个具有多个属性的对象,我想在字符串中替换这些属性

replaceBy:{
          "PRS_JOBS_MAQUINA":"PRS_JOBS_WORKCENTER",
          "CD_MAQ":"CD_WKC",
          "DT_INI_MAQ":"DT_INI_WKC",
          "DT_INI_JM" :"DT_INI_JW"
          }
有没有一种雄辩的方法可以用lodash做到这一点? 这是绳子

" 

AND ( CD_JOB, DT_INI_JOB ) IN  (SELECT x.CD_JOB, x.DT_INI_JM FROM PRS_JOBS_MAQUINA x WHERE x.EMPRESA = ':EMPRESA' AND x.CD_MAQ = ':CD_MAQ' AND TO_CHAR(x.DT_INI_MAQ, 'YYYY-MM-DD') = ':DT_INI_MAQ'
AND TO_CHAR(x.DT_INI_JM, 'YYYY-MM-DD') = '1900-01-01'  AND x.DT_FIM IS NULL )
解决方案:

var yourString = 'your string';
_.forEach(replaceBy, function(value, key) {
    yourString = _.replace(string, key, value);
});
解决方案:

var yourString = 'your string';
_.forEach(replaceBy, function(value, key) {
    yourString = _.replace(string, key, value);
});
为什么要使用图书馆

替代变量={ PRS_JOBS_MAQUINA:PRS_JOBS_工作中心, CD_MAQ:CD_WKC, 我的名字是:我的名字是WKC, 我的名字是:我的名字是 },str=和CD_JOB,DT_INI_JOB IN SELECT x.CD_JOB,x.DT_INI_JM FROM PRS_JOBS_MAQUINA x其中x.EMPRESA=':EMPRESA'和x.CD_MAQ=':CD_MAQ'和TO_CHARx.DT_INI_MAQ,'yyyyyy-MM-DD'=':DT_INI_MAQ'和TO_CHARx.DT_INI_JM'1900-01-01'为空 对于replaceBy中的var rb{ str=str.replacenew RegExprb,g,replaceBy[rb]; } console.logstr为什么要使用库

替代变量={ PRS_JOBS_MAQUINA:PRS_JOBS_工作中心, CD_MAQ:CD_WKC, 我的名字是:我的名字是WKC, 我的名字是:我的名字是 },str=和CD_JOB,DT_INI_JOB IN SELECT x.CD_JOB,x.DT_INI_JM FROM PRS_JOBS_MAQUINA x其中x.EMPRESA=':EMPRESA'和x.CD_MAQ=':CD_MAQ'和TO_CHARx.DT_INI_MAQ,'yyyyyy-MM-DD'=':DT_INI_MAQ'和TO_CHARx.DT_INI_JM'1900-01-01'为空 对于replaceBy中的var rb{ str=str.replacenew RegExprb,g,replaceBy[rb]; } console.logstr您可以使用String.prototype.replace替换为包含所有搜索词的regexp,并使用replace callback替换它们:

函数replaceByMapstr,replaceBy{ var search=new RegExpObject.keysreplaceBy.join'|','g';//创建要替换的字符串的regexp 返回str.replacesearch,functionmatch{//迭代字符串,并将找到的字符串替换为映射中的替换字符串 返回replaceBy[match]; }; } var replaceBy={ PRS_JOBS_MAQUINA:PRS_JOBS_工作中心, CD_MAQ:CD_WKC, 我的名字是:我的名字是WKC, 我的名字是:我的名字是 }; var str=和CD_JOB,DT_INI_JOB IN SELECT x.CD_JOB,x.DT_INI_JM FROM PRS_JOBS_MAQUINA x其中x.EMPRESA=':EMPRESA'和x.CD_MAQ=':CD_MAQ'和TO_CHARx.DT_INI_MAQ,'yyyyyy-MM-DD'=':DT_INI_MAQ'和TO_CHARx.DT_INI_JM'1900-01-01'为空; var result=replaceByMapstr,replaceBy; console.logresult 可以使用String.prototype.replace替换为包含所有搜索词的regexp,并使用replace callback替换它们:

函数replaceByMapstr,replaceBy{ var search=new RegExpObject.keysreplaceBy.join'|','g';//创建要替换的字符串的regexp 返回str.replacesearch,functionmatch{//迭代字符串,并将找到的字符串替换为映射中的替换字符串 返回replaceBy[match]; }; } var replaceBy={ PRS_JOBS_MAQUINA:PRS_JOBS_工作中心, CD_MAQ:CD_WKC, 我的名字是:我的名字是WKC, 我的名字是:我的名字是 }; var str=和CD_JOB,DT_INI_JOB IN SELECT x.CD_JOB,x.DT_INI_JM FROM PRS_JOBS_MAQUINA x其中x.EMPRESA=':EMPRESA'和x.CD_MAQ=':CD_MAQ'和TO_CHARx.DT_INI_MAQ,'yyyyyy-MM-DD'=':DT_INI_MAQ'和TO_CHARx.DT_INI_JM'1900-01-01'为空; var result=replaceByMapstr,replaceBy;
console.logresult;你试了什么?为什么要用图书馆?对于replaceBy str中的var rb=str.replacenew RegExprb,g,replaceBy[rb];纯javascript:只替换每个脚本的第一次出现key@SimonHänisch-与我的建议几乎相同,但不太兼容?@mplungjan是的,在我创建小提琴时,你的评论没有加载……你尝试了什么?为什么要使用库?对于replaceBy str中的var rb=str.replacenew RegExprb,g,replaceBy[rb];纯javascript:只替换每个脚本的第一次出现key@SimonHänisch-与我的建议几乎相同,但不太兼容?@mplungjan是的,在我创建小提琴时,不知怎么你的评论没有加载…虽然这可能回答了这个问题,但它没有提供任何上下文来解释如何或为什么。考虑一两句话来解释你的答案。虽然这可能回答问题,但它没有提供任何上下文来解释为什么或为什么。考虑一两句话来解释你的答案。