StartsWith Test (v5)

Revision 5 of this benchmark created by Mark on


Setup

var arr = ['Frank Jones', 'Andrew Jackson', 'George Washington', 'Abraham Lincoln', 'Lisa', 'Betty', null];
    var answerIs;

Test runner

Ready to run.

Testing in
TestOps/sec
StartsWith
var answer = false;
var testStr = 'Andrew';
for (var i = 0; i < arr.length; ++i) {
  var str = arr[i];
  if(str && testStr && str.length >= testStr.length && testStr.length > 0 && testStr[0] === str[0]) {
    answer = str.indexOf(testStr) === 0;
  } else {
    answer = false;
  }
}
answerIs = !!answer;
ready
subString
var answer = false;
var testStr = 'Andrew';
for (var i = 0; i < arr.length; ++i) {
  var str = arr[i];
  answer = str && (str.substr(0,testStr.length) === testStr);
}
answerIs = !!answer;
ready
regex
var answer = false;
var testStr = 'Andrew';
for (var i = 0; i < arr.length; ++i) {
  var str = arr[i];
  answer = /^\Andrew/.test(str);
}
answerIs = !!answer;
ready
indexOf
var answer = false;
var testStr = 'Andrew';
for (var i = 0; i < arr.length; ++i) {
  var str = arr[i];
  answer = str && str.indexOf(testStr) === 0;
}
answerIs = !!answer;
ready
StartsWith v2
var answer = false;
var testStr = 'Andrew';
for (var i = 0; i < arr.length; ++i) {
  var str = arr[i];
  if(str && testStr && str.length >= testStr.length && testStr.length > 0 && testStr[0] === str[0]) {
    answer = str.substr(0, testStr.length) === testStr;
  } else {
    answer = false;
  }
}
answerIs = !!answer;
ready
StartsWith v3
var answer = false;
var testStr = 'Andrew';
for (var i = 0; i < arr.length; ++i) {
  var str = arr[i], len;
  if(str && testStr && str.length >= (len = testStr.length) && len > 0 && testStr[0] === str[0]) {
    answer = str.substr(0, len) === testStr;
  } else {
    answer = false;
  }
}
answerIs = !!answer;
ready

Revisions

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

  • Revision 1: published by Mark on
  • Revision 2: published by Mark on
  • Revision 3: published by Mark on
  • Revision 4: published by Mark on
  • Revision 5: published by Mark on