@dosattack13

Как сохранить значения на каждой итерации цикла?

Приветствую, прошу помочь разобраться!

Есть строка в которой необходимо найти определенные слова(массив regArr1) и заменить(сделать манипуляции) их на слова из regArr2, затем вывести это на страницу.
Что я делаю:
циклом заменяю искомые слова, затем преобразую строку в массив для вывода ее построчно на страницу
for (var j = 0; j < regArr1.length; j++) {
   var str = str1.replace(regArr1[j], regArr2[j]); // заменяет и записывает только последнее значение
 }

var arr = str.split("\n");		// преобразовал строку в массив для вывода построчно
for (var i = 0; i < arr.length; i++) {
	var div = document.createElement("div");  // вывел на страницу
	div.innerHTML = arr[i];
	output.append(div);
}

Первый цикл сохраняет только последнее значение. И заменяет только последнее слово, а предыдущие замены не сохраняются. Задача вроде элементарная но как сделать чтоб он по очереди заменил все слова и сохранил измененную строку не могу понять.
Полный код на codepen
  • Вопрос задан
  • 2857 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Вы на каждой итерации цикла заново объявляли переменную, и она перетирала предыдущее значение.

https://codepen.io/anon/pen/yPGbay

или даже так: https://codepen.io/anon/pen/LOMyxz

или вообще одной регуляркой https://codepen.io/anon/pen/Kybmvw
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы