簡體   English   中英

如何使用NodeJS替換作為Json對象值鍵的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM