leftpad (v4)

Revision 4 of this benchmark created by defcc on


Setup

function leftpad(str, len, ch) {
    str = String(str);
  
    var i = -1;
  
    if (!ch && ch !== 0) ch = ' ';
  
    len = len - str.length;
  
    while (++i < len) {
      str = ch + str;
    }
  
    return str;
  }
  
  function leftpad2(str, len, ch) {
    if (!ch && ch !== 0) ch = ' ';
    return ('' + ch).repeat(Math.max(0, len - str.length)) + str
  }
  
  function leftpad3(str, len, ch) {
    str = ''+str;
  
    if (!ch && ch !== 0) ch = ' ';
    return new Array(Math.max(0, len - str.length + 1)).join(ch) + str;
  }

Test runner

Ready to run.

Testing in
TestOps/sec
while loop
leftpad('x', 40, 'hello world')
ready
repeat and slice
leftpad2('x', 40, 'hello world')
ready
array join
leftpad3('x', 40, 'hello world')
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.