String.Format для форматирования строк в JavaScript
При использовании JavaScript иногда встает вопрос о необходимости форматирования строки. Но, к сожалению, никакой стандартной функции для этого нет.
Поэтому, пришлось ее написать:
String.prototype.format = String.prototype.f = function(){
var args = arguments;
return this.replace(/\{(\d+)\}/g, function(m,n){
return args[n] ? args[n] : m;
});
};
Пример использования:
var s1 = "My name: {0}".f("Neo");
console.log(s1);
var s2 = "My name: {0}, age: {1}!".f("Neo", 20);
console.log(s2);
UPD: ES 6
const stringFormat = (s, a) => s.replace(/\{(\d+)\}/g, (m, n) => a[n] || m);
Теги: сниппет, javascript