w3resource logo

CoffeeScript exercises

CoffeeScript function: Check whether a passed string is a palindrome or not

CoffeeScript Function : Exercise-10 with Solution

Write a CoffeeScript function that checks whether a passed string is a palindrome or not?

Note: A palindrome is a word, phrase, or sequence that reads the same backward as forward, e.g., madam or nurses run.

Solution :

HTML Code :

<!DOCTYPE html>
  <meta charset="utf-8">
  <title>JS Bin</title>


CoffeeScript Code :

check_Palindrome = (str_entry) ->
  # Change the string into lower case and remove  all non-alphanumeric characters
  cstr = str_entry.toLowerCase().replace(/[^a-zA-Z0-9]+/g, '')
  ccount = 0
  # Check whether the string is empty or not
  if cstr == ''
    alert 'Nothing found!'
    return false
  # Check if the length of the string is even or odd 
  if cstr.length % 2 == 0
    ccount = cstr.length / 2
    # If the length of the string is 1 then it becomes a palindrome
    if cstr.length == 1
      alert 'Entry is a palindrome.'
      return true
      # If the length of the string is odd ignore middle character
      ccount = (cstr.length - 1) / 2
  # Loop through to check the first character to the last character and then move next
  x = 0
  while x < ccount
    # Compare characters and drop them if they do not match 
    if cstr[x] != cstr.slice(-1 - x)[0]
      alert 'Entry is not a palindrome.'
      return false
  alert 'The entry is a palindrome.'

check_Palindrome 'madam'
check_Palindrome 'nurses run'
check_Palindrome 'fox'

Live Demo :

JS Bin on jsbin.com

Post your code through Disqus :

Join our Question Answer community to learn and share your programming knowledge.

Help the community:

PHP: Loop

JavaScript: Delete duplicates in an array

Oracle: Round the number