replaces

Benchmark created on


Description

how to apply a map of string translations 'foofoobar' + { 'foo': 'bar', 'baz': 'qux' } = 'barbarbar'

Setup

var src = 'fooforbar';
      var map = { 'foo': 'bar', 'baz': 'qux' };
      var expected = 'barbarbar';
    
      function replace_loop(src, map) {
        var ret = src;
        for (var k in map)
          ret = ret.replace(k, map[k]);
        return ret;
      }
    
    
      function replace_fun(src, map) {
        var r = new RegExp('(' + Object.keys(map).join('|') + ')', 'igm');
        return src.replace(r, function(k) {
          return map[k];
        });
      }

Test runner

Ready to run.

Testing in
TestOps/sec
replace_loop
replace_loop(src, map);
ready
replace_fun
replace_fun(src, map);
ready

Revisions

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