为什么我想要的字符串没有在javascript中替换为另一个?

为什么我想要的字符串没有在javascript中替换为另一个?,javascript,angular,typescript,Javascript,Angular,Typescript,我有这根绳子 这是我用来替换字符串的函数 parseBackConfirmationText() { let str = this.content; this.confirmationTagsArray.forEach(tag => { if (str.includes(tag.value)) { str.replace(tag.value, tag.tag); } }); return str; } 在这个函数中,我用循环

我有这根绳子

这是我用来替换字符串的函数

  parseBackConfirmationText() {
   let str = this.content;
   this.confirmationTagsArray.forEach(tag => {
     if (str.includes(tag.value)) {
      str.replace(tag.value, tag.tag);
     }
   });
   return str;
  }
在这个函数中,我用循环中的另一个字符串替换一些字符串。但它并没有取代字符串。它返回与我提供的字符串相同的字符串

Hi John Doe,

Your appointment has been scheduled for 30-Mar-20 at 05:00 pm.  
Please confirm your appointment. [link]
Hi [customer_name],

Your appointment has been scheduled for [start_date] at [start_time].  
Please confirm your appointment. [link]
但它应该像这样返回

Hi John Doe,

Your appointment has been scheduled for 30-Mar-20 at 05:00 pm.  
Please confirm your appointment. [link]
Hi [customer_name],

Your appointment has been scheduled for [start_date] at [start_time].  
Please confirm your appointment. [link]

我做错了什么?

您的代码中几乎没有问题:

您的对象在语法上无效。 必须使用function关键字声明函数。 replace不会修改原始字符串,必须将修改后的字符串重新分配给变量。 请尝试以下方法:

content=`你好,约翰·多伊, 您的约会安排在20年3月30日下午5:00。 请确认您的预约。[连结]` 确认标记日期=[ {标记:'[customer_name]',值:'John Doe'}, {标记:'[startDate]',值:'30-Mar-20'}, {标记:'[start_time]',值:'05:00 pm'}, ]; 函数parseBackConfirmationText{ 设str=content; 确认标记array.forEachtag=>{ 如果str.includestag.value{ str=str.replacetag.value,tag.tag; } }; 返回str; }
console.logparseBackConfirmationText;请为此创建一个小演示,并在queestion.str.replacetag.value、tag.tag中发布;应该是str=str.replacetag.value,tag.tag;我使用的是angular,所以不需要用function关键字声明函数。不管怎样,你的回答帮助了我。塔克斯。