[英]how to replace string which is the key of Json object value Using NodeJS
const sentence = ' Name: ${fname} ${lname} </br> Email: ${email} </br> '
let valuesObj={
"fname": "sant",
"lname": "G",
"email": "Test@test.com"
}
試過這段代碼但沒有用:
function replaceAll(str, map){
for(key in map){
str = str.replaceAll(key, map[key]);
}
return str;
}
var newString = replaceAll(sentence , valuesObj);
console.log(newString)
預期輸出為:
姓名:sant G
郵箱:Test@test.com
如何使用 NodeJs 或 Javascript 執行此操作
不要在這里使用替換功能。 改為:
const valuesObj = {
fname: 'sant',
lname: 'G',
email: 'Test@test.com'
};
const sentence = `Name: ${valuesObj.fname} ${valuesObj.lname} </br> Email: ${valuesObj.email} </br>`;
如果您的字符串是動態創建的,那么您正在尋找與此類似的行為。
您忘記了替換方法中的美元符號 ( $
) 和括號 ( {...}
):
const sentence = ' Name: ${fname} ${lname} </br> Email: ${email} </br> '; const valuesObj = { "fname": "sant", "lname": "G", "email": "Test@test.com" }; function replaceAll(str, map) { return Object.entries(map).reduce((s, [key, value]) => s.replaceAll(`\\${${key}}`, value), str); } const newString = replaceAll(sentence, valuesObj); console.log(newString);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.