У меня следующая проблема: у меня есть строка, и мне нужно заменить ее на различные части регулярного выражения.
, поэтому я хочу зациклить ее:
В моем случае это URL иЯ хочу очистить для определенных параметров:
cleanURL(url, params) {
params.forEach((param) => {
url = this.updateUrlParameter(url, param, '');
});
В то время как у меня есть:
updateUrlParameter(url, param, value) {
const regex = new RegExp(`(${param}=)[^&]+`);
const newURL = url.replace(regex, `$1${value}`);
return newURL;
}
Это единственный способ, которым я заставил его работать, но теперь я переназначаю параметр функции.это не то, что я хочу.
Моя проблема в том, что
cleanURL(url, params) {
params.forEach((param) => {
this.updateUrlParameter(url, param, '');
});
}
всегда для каждой итерации передает ТО ЖЕ url
в цикл.И я получаю только последнюю замену.
Мне как-то нужно было бы передать измененную строку в следующую итерацию цикла.
Как мне этого добиться?Может быть, в этом направлении?С каким-нибудь вложением и повторным вызовом функции?
while(outerI--){
(function(i){
i+=1;//doesn't affect outerI and you wanted 1-length so we add one.
//crap inside your forEach loop but without the i++
})(outerI)
}
, который я нашел здесь: .forEach loop: используйте переменную
Буду очень рад за подсказку здесь.спасибо
ура