Nodejs String Format format(dict)

Here you can find the source of format(dict)

Method Source Code

// variadic arguments
String.prototype.format = function(dict) {
  var result = this;

  if(typeof(dict) === "object") {
    Object.keys(dict).forEach(function(key) {
      result = result.replace("{" + key + "}", dict[key]);
    });/*from  w  ww . j av  a 2 s . co  m*/
    return result;
  }

  var args = [];
  var n = arguments.length;
  var i = 0;

  for(i; i < n; i+=1) {
    args.push(arguments[i]);
  }

  var result = this;

  args.forEach(function(arg) {
    result = result.replace("{}", arg);
  });

  return result;
}

console.log("{} {} {}".format("one", "two", "three"));
console.log("Hello {name}, I am {friend}".format({
  "name": "Ivo",
  "friend": "Rado"
}));

Related

  1. format(args)
    String.prototype.format = function(args)
        var result = this;
        if (arguments.length > 0)
            var reg;
            if (arguments.length == 1 && typeof(args) == "object")
                for (var key in args)
    ...
    
  2. format(args)
    String.prototype.format = function (args) {
        var newStr = this;
        for (var key in args) {
            newStr = newStr.replace('{' + key + '}', args[key]);
        return newStr;
    
  3. format(args, index)
    String.prototype.format = function(args, index) {
      return this.replace(/{(\w+)}/g, function(match, number) {
        return typeof args[index[number]] != 'undefined'
          ? args[index[number]]
          : match
        ;
      });
    };
    
  4. format(ctx)
    String.prototype.format = function (ctx) {
      return this.replace(/\$\{([\w\.]+)\}/g, function(all, varname) {
        var keys = varname.split('.');
        var val = null;
        for (var i = 0, len = keys.length; i < len; i++) {
          val = ctx[keys[i]];
        return val;
      });
    ...
    
  5. format(data)
    String.prototype.format = function(data) {
        return this.replace(/{(.+?)}/g, function(match, name) {
            return data[name] || match;
        });
    };
    
  6. format(fmt)
    String.prototype.format = function (fmt) {
        if (fmt==null) fmt = "yyyy-MM-dd";
        var myDate = new Date(this);
        var o = {
            "M+": myDate.getMonth() + 1,
            "d+": myDate.getDate(),
            "h+": myDate.getHours(),
            "m+": myDate.getMinutes(),
            "s+": myDate.getSeconds(),
    ...
    
  7. format(format)
    String.prototype.format = function (format) {
        const holders = JSON.parse(format),
            regex = new RegExp('(#{(\\w+)})', 'g');
        let transformed = this,
            currentMatch = '';
        while ((currentMatch = regex.exec(this)) !== null) {
            transformed = transformed.replace(currentMatch[1], holders[currentMatch[2]]);
        return transformed;
    ...
    
  8. format(format)
    String.format = function (format) {
        var args = Array.prototype.slice.call(arguments, 1);
        return format.replace(/{(\d+)}/g, function (match, number) {
            return typeof args[number] != 'undefined'
            ? args[number]
            : match;
        });
    };
    String.prototype.format = function () {
    ...
    
  9. format(i, safe, arg)
    String.prototype.format = function(i, safe, arg) {
      function format() {
        var str = this, len = arguments.length+1;
        for (i=0; i < len; arg = arguments[i++]) {
          safe = typeof arg === 'object' ? JSON.stringify(arg) : arg;
          str = str.replace(RegExp('\\{'+(i-1)+'\\}', 'g'), safe);
        return str;
      format.native = String.prototype.format;
      return format;
    }();