JavaScript equivalent of Python's format() function?

前端 未结 17 2132
慢半拍i
慢半拍i 2020-12-13 08:42

Python has this beautiful function to turn this:

bar1 = \'foobar\'
bar2 = \'jumped\'
bar3 = \'dog\'

foo = \'The lazy \' + bar3 + \' \' + bar2 \' over the \'         


        
17条回答
  •  长情又很酷
    2020-12-13 09:10

    Taken from YAHOOs library:

    YAHOO.Tools.printf = function() { 
      var num = arguments.length; 
      var oStr = arguments[0];   
      for (var i = 1; i < num; i++) { 
        var pattern = "\\{" + (i-1) + "\\}"; 
        var re = new RegExp(pattern, "g"); 
        oStr = oStr.replace(re, arguments[i]); 
      } 
      return oStr; 
    } 
    

    Call it like:

    bar1 = 'foobar'
    bar2 = 'jumped'
    bar3 = 'dog'
    
    foo = YAHOO.Tools.printf('The lazy {0} {1} over the {2}', bar3, bar2, bar1); 
    

提交回复
热议问题