Javascript Palindromes

JavaScript performance comparison

Revision 3 of this test case created by Justine Philip

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var sampleText = "tattarrattat"
  
  function palindromeIntuitive(text) {
  var reversedText  = text.toLowerCase()
                      .split('').reverse().join('');
  
  
  return text === reversedText;
  }
  
  
  function palindromeLoop(text) {
      let charArray = text.toLowerCase().split('')
      
      let result = charArray.every((letter, index) => {
          return letter === charArray[charArray.length - index - 1];
      })
      
      return result
  }
  
  function palindromeLoopFix(text) {
   var textLen = text.length;
   for (var i = 0; i < textLen/2; i++) {
     if (text[i] !== text[textLen - 1 - i]) {
         return false;
     }
   }
   return true;
  }

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
The Loop Method
palindromeLoop(sampleText)
pending…
The Loop Method Fixed
palindromeLoopFix(sampleText)
pending…
The intuitive approach
palindromeIntuitive(sampleText)
pending…

Compare results of other browsers

Revisions

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

0 Comments