Here you can find the source of format(object)
//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 //Example://from w w w . j a v a2s .co m //input output //var options = {name: 'John'}; //'Hello, there! Are you #{name}?'.format(options); 'Hello, there! Are you John' //var options = {name: 'John', age: 13}; //'My name is #{name} and I am #{age}-years-old').format(options); 'My name is John and I am 13-year String.prototype.format = function (object) { var self=this; for (var item in object) { var replaceItem = object[item], regExp = new RegExp('#{' + item + '}'); self=self.replace(regExp, replaceItem); } return self; } var object = { name: 'John', age: 15, gender: 'male' }; var str = 'My name is #{name}, I am #{age}-years-old and my gender is #{gender}'.format(object); console.log('TASK 1:\n'+str);
var path = require('path'); var fs = require('fs'); String.prototype.format = function(obj) { var args = arguments; var str = this; return str.replace(/\{[\w\d\._-]+\}/g, function(part) { part = part.slice(1, -1); var index = parseInt(part, 10); if (isNaN(index)) { ...
String.prototype.format = function(obj) { var args = arguments; var str = this; return str.replace(/\{[\w\d\._-]+\}/g, function(part) { part = part.slice(1, -1); var index = parseInt(part, 10); if (isNaN(index)) { return dottedGet(obj, part); } else { ...
function getParameterByName(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); String.prototype.format = function (obj) { return this.replace(/\{\s*([^}\s]+)\s*\}/g, function (m, p1, offset, string) { return obj[p1] ...
String.prototype.format = function(obj){ var placeHolders = this.match(/#{\w+}/g), prop, result = this; for (var i = 0; i < placeHolders.length; i++) { prop = placeHolders[i].substring(2, placeHolders[i].length - 1); if (obj[prop]){ result = result.replace(placeHolders[i], obj[prop]); return result; }; var options = {name: 'John'}; console.log('Hello, there! Are you #{name}?'.format(options)); var options2 = {name: 'John', age: 13}; console.log('My name is #{name} and I am #{age}-years-old'.format(options2));
String.prototype.format = function(obj) { var args = arguments; var str = this; return str.replace(/\{[\w\d_-]+\}/g, function(part) { part = part.slice(1, -1); var index = parseInt(part, 10); if (isNaN(index)) { return obj[part]; } else { ...
function solve(args) { String.prototype.format = function(options) { var prop, result = this; for (prop in options) { result = result.replace(new RegExp('#{' + prop + '}', 'g'), options[prop]); return result; }; ...
String.prototype.format = function(options) { var option, toReplace, str = this; for (option in options) { toReplace = new RegExp('#{' + option + '}'); str = str.replace(toReplace, options[option]); console.log(str); ...
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) { return this.replace(/(?:#{(\w+)})/g, function ($0, $1) { return options[$1]; }); }; var options1 = {name: 'John'}; console.log('Hello, there! Are you #{name}?'.format(options1)); var options2 = {name: 'John', age: 13}; console.log('My name is #{name} and I am #{age}-years-old'.format(options2)); ...