Nodejs String Format format(obj)

Here you can find the source of format(obj)

Method Source Code

//Problem 1. Format with placeholders
////w w w  .  j a  v  a  2s .c om
//    Write a function that formats a string. The function should have placeholders, as shown in the example
//      Add the function to the String.prototype

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

Related

  1. format(obj)
    String.prototype.format = function (obj) {
        var text = this;
        for (var property in obj) {
            var regExp = new RegExp('#{' + property + '}', 'g');
            text = text.replace(regExp, obj[property]);
        return text;
    var options = { name: 'John' };
    ...
    
  2. format(obj)
    String.prototype.format = function (obj) {
        var result = this.toString();
        for (var key in obj) {
            result = result.replace(new RegExp("{{" + key + "}}", "gi"), obj[key].toString());
        return result;
    };
    
  3. format(obj)
    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)) {
    ...
    
  4. format(obj)
    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 {
    ...
    
  5. format(obj)
    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]
    ...
    
  6. format(obj)
    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 {
    ...
    
  7. format(object)
    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);
    
  8. format(options)
    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;
    };
    ...
    
  9. format(options)
    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);
    ...