Задать вопрос
@GeorgiB
Изучаю HTML

Как заменить два параметра через replace?

Добрый день. В PHP есть функция sprintf, которая заменяет в строке $g = '%s из %s' - %s на соответствующие параметры.

В PHP так работает
sprintf($g, $a, $b)

Пытаюсь в JS сделать так же через функцию replace
html('<?php echo $g; ?>'.replace(/%s/g, a, b));

Таким методом он везде подставляет только переменную а.

Подскажите, пожалуйста - как правильно указать?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Комментировать
Пригласить эксперта
Ответы на вопрос 2
nepritimov_m
@nepritimov_m
Frontend dev.
В стандартной реализации метода replace нет такой возможности.
Посмотрите в сторону использования метода replaceAll для каждой переменной (a, b, etc.)
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
function dumbSprintf(mask, ...values) {
  let idx = 0;
  return mask.replace(/%s/g, () => values[idx++] ?? '');
}
dumbSprintf('a: %s, b: %s', 'A', 'B');
// "a: A, b: B"
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы