Here you can find the source of format(options)
/* Problem 1. Format with placeholders Write a function that formats a string. The function should have placeholders, as shown in the example Add the function to the String.prototype *//*from w w w. j a v a 2 s . c o m*/ String.prototype.format = function (options) { var regex, input = this; for (var key in options) { regex = new RegExp('#{' + key + '}', 'g'); input = input.replace(regex, options[key]); } return input; } console.log('Original text is: Hello, there! Are you #{name}? and Object is: { name: \'John\' }') console.log('Changed text is: ' + 'Hello, there! Are you #{name}?'.format({ name: 'John' })); console.log('Original text is: My name is #{name} and I am #{age}-years-old).format(options) and object is: {name: \'Johnny\', age: 21} '); console.log('Changed text is: ' + 'My name is #{name} and I am #{age}-years-old)'.format({name: 'Johnny', age: 21}));
String.prototype.format = function (options) { var option, regex, formatted = this; for (option in options) { regex = new RegExp('#{' + option + '}', 'g'); formatted = formatted.replace(regex, options[option]); return formatted; ...
String.prototype.format=function(options) { var string = this; for (var i in options) { var pattern = '#{' + (i) + '\\}'; var regex = new RegExp(pattern, 'g'); string = string.replace(regex, options[i]); return string; var options = {name: 'John'}; console.log('Hello, there! Are you #{name}?'.format(options)); var options = {name: 'John', age: 13}; console.log('My name is #{name} and I am #{age}-years-old'.format(options));
var phraseOne = 'Hello, there! Are you #{name}?'; var phraseTwo = 'My name is #{name} and I am #{age}-years-old'; String.prototype.format = function (options) { var option, fullString = this; for (option in options) { var placeholder = /#\{\w+}/; fullString = fullString.replace(placeholder, options[option]); return fullString; }; console.log(phraseOne.format({name: 'John'})); console.log(phraseTwo.format({name: 'John', age: 13}));
var options = {name: 'John'}; String.prototype.format = function (options) { var result = this; function getNameOfPlaceholder(startIndex, text) { var name = ''; for (var i = startIndex + 1; text[i] != '}'; i++) { name += text[i]; return name; ...
String.prototype.format = function(options) { var prop, regex, result = this; for (prop in options) { regex = RegExp('#\{' + prop + '\}', 'gi'); result = result.replace(regex, options[prop]); return result; ...
"use strict"; var formatPlace = function (options, str) { function replacer(match, i) { i = i.substring(2, i.length - 1); return options[i]; return str.replace(/(#{[^{}]+})/gm, replacer); }; String.prototype.format = function(options){ ...
String.prototype.format = function(options) { var prop, result = this; for (prop in options) { result = result.replace(new RegExp('#{' + prop + '}', 'g'), options[prop]); return result; }; var options01 = { name: 'John' }; ...
String.prototype.format = function(opts) { var option, regex, formatted = this; for (option in opts) { regex = new RegExp('#{' + option + '}', 'g'); formatted = formatted.replace(regex, opts[option]); return formatted; ...
String.prototype.format = function(opts) { var source = this, data = Array.prototype.slice.call(arguments, 0), toString = Object.prototype.toString; if (data.length) { data = data.length == 1 ? (opts !== null && (/\[object Array\]|\[object Object\]/.test(toString.call(opts))) ? opts : data) : data; return source.replace(/%\{(.+?)\}/g, function(match, key) { var replacer = data[key]; ...