Script Preparation code:
x
 
var foo = ['+++', '---', '===', '@@@', null, undefined, '', 'foo'];
var test = [];
for (var i = 0; i < 1000; i++) {
  test = [...test, ...foo];
}
Tests:
  • regex

     
    test.map((x) => /^\+\-\=\@/.test(x) ? "'" + x : x);
  • startWith

     
    test.map((x) => {
      if (
        x?.startsWith('+') ||
        x?.startsWith('-') ||
        x?.startsWith('=') ||
        x?.startsWith('@')
      ) {
        return "'" + x;
      }
        
      return x;
    });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    regex
    startWith

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0
Firefox 119 on Ubuntu
View result in a separate tab
Test name Executions per second
regex 6216.2 Ops/sec
startWith 7478.9 Ops/sec