Шаблон строки Javascript для повторного использования

1

Я пытаюсь сделать что-то вроде

var stringUrlTemplate = home.url + '/data/[param1]/[param2]/' + endurl;

И чем-то вроде некоторого цикла:

outputUrlItem = print(stringUrlTemplate, someVarialbe, someVariable);

В принципе, это может сделать C/C++.

Я не могу использовать "/data/$ {param1}/$ {param2}/", потому что строка поддерживается сервером отдельно от JavaScript.

  • 1
    Может быть, это может помочь jsfiddle.net/satpalsingh/kvpy4wex
  • 0
    Великая вещь! Спасибо.
Теги:

1 ответ

2
Лучший ответ

Вы можете использовать placeholder, который можно заменить. Вот пример

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;
    });
  };
}

var stringUrlTemplate = '/data/{0}/{1}/';
console.log(stringUrlTemplate.format('data1', 'data2'))

ИЛИ ЖЕ,

function printf() {
  var args = Array.prototype.slice.call(arguments, 1);
  var str = arguments[0];
  return str.replace(/{(\d+)}/g, function(match, number) {
    return typeof args[number] != 'undefined' ?
      args[number] :
      match;
  });
};

var stringUrlTemplate = '/data/{0}/{1}/';
console.log(printf(stringUrlTemplate, 'data1', 'data2'))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню