Script Preparation code:
x
 
function checkPalindrome(input){
  return isPalindrome(input.replace(/ /g,'').toLowerCase());
}
function isPalindrome(input) {
  if (input.length <= 1) {
    return true;
  } else {
    return (input[0] === input[input.length-1]) &&
            isPalindrome(input.substring(1,input.length-1));
  }
}
Tests:
  • detects an empty string as a palindrome

     
    checkPalindrome('');
  • detects a single character as a palindrome

     
    checkPalindrome('a');
  • detects palindromic word

     
    checkPalindrome('hannah');
  • detects non-palindromic word

     
    checkPalindrome('spanner');
  • detects palindromic sentence with capitalisation

     
    checkPalindrome('Mr owl ate my metal worm');
  • detects palindromic sentence

     
    checkPalindrome('Never Odd Or Even');
  • detects non-palindromic sentence

     
    checkPalindrome('Never Even Or Odd');
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    detects an empty string as a palindrome
    detects a single character as a palindrome
    detects palindromic word
    detects non-palindromic word
    detects palindromic sentence with capitalisation
    detects palindromic sentence
    detects non-palindromic sentence

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 8 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Chrome 52 on Mac OS X 10.11.6
View result in a separate tab
Test name Executions per second
detects an empty string as a palindrome 2182746.0 Ops/sec
detects a single character as a palindrome 1858438.0 Ops/sec
detects palindromic word 890442.6 Ops/sec
detects non-palindromic word 1595143.0 Ops/sec
detects palindromic sentence with capitalisation 376856.7 Ops/sec
detects palindromic sentence 442971.0 Ops/sec
detects non-palindromic sentence 1133257.6 Ops/sec