не удается заменить текст в соответствии с предопределенным списком - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь создать функцию, которая заменяет определенные строки в наборе кода в соответствии с заранее определенным списком поисковых слов и тем, чем он должен быть заменен,

render = (data,list) => {
let temp = data;
  for(let i in list){
    temp.split(i).join(list[i]);
   //temp.replace(new RegExp(i, 'g'), list[i]); even this doesn't work
  }
return temp;
}
let test = render("<h1>a1</h1>",
 { "a1" : "Hello World" });

Я неувидеть любые ошибки, он просто ничего не заменяет и возвращает исходные данные как есть, если я использую код, использованный для замены, отдельно и вручную помещаю значения в функции regExp или split join, он работает нормально ..

// edit

Ожидаемый ввод и вывод должен быть

let temp = "<h1> $1 </h1>";
console.log( render(test, { "$1":"Hello World" } ) );

Предполагается, что вывести

<h1> Hello World </h1>

, но вместо этого я получаю

<h1> $1 </h1>

как есть.

1 Ответ

0 голосов
/ 02 июня 2018

Вот решение -

render = (data, list) => {
  let temp = data;
  for (let i in list) {
    temp = temp.replace(new RegExp(i, 'g'), list[i]);
  }
  return temp;
}
let test = render("<h1>a1</h1>", {
  "a1": "Hello World"
});

console.log(test);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...