Аналог PHP функции sprintf()

Функция для форматирования текстовых данных по заданному шаблону. В качестве директив замены используются конструкции вида {X}, в которых X является целым порядковым числом (счет начинается с нуля).
Данный код не является полным аналогом соответствующей PHP функции, а только реализует ее базовый функционал форматирования строк (отсутствует поддержка типов данных для директив (описателей) замены и используется другой формат формат описания - {X} вместо %..).

if(!String.prototype.format) {
  String.prototype.format = function() {
    var args = arguments;
    return this.replace(/{(\d+)}/g, function(match, number) { 
      return typeof args[number] != 'undefined'?args[number]:match;
    });
  };
}

Использование:

"Test {0}, {1} and {2}".format('one', 'two', 'three'); // Result: "Test one, two and three"

Обсуждение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *