chelbeh
11/11/2014 - 7:08 AM

Подстановка данных в шаблон

Подстановка данных в шаблон

var template = 'от {from} до {to}';
var data = {from: 'А', to: 'Я'};
template.absorb(data); // удобно, если есть готовый объект

var template = 'от {0} до {1}';
template.absorb('А', 'Я'); // а если объекта нет, можно и так
String.prototype.absorb = function(data) {
    var h = typeof data === 'object';
    var parts = h ? data : arguments;
    return this.replace(/\{(\w+)\}/g, function(s, key) {
        return parts[h ? key : Number(key)];
    });
};