Tell us what’s happening:
my code works for every condition except this -->> palindrome(“1 eye for of 1 eye.”)
can anyone explain to me why this is ? palindrome(“1 eye for of 1 eye.”) seems like a palindrome to me. Any help would be greatly appreciated.
**Your code so far**
function returnAlphabet(word){ //this function filters out all the non-alphanumeric characters
word.split('')
var emptyArr=[];
var regEX = /[a-z]/
for(var i =0;i<word.length;i++){
if(word[i].toLowerCase().match(regEX)){
emptyArr.push(word[i].toLowerCase())
}
}
return emptyArr
}
function fisrtLetter(word){ //extracts first letter of word
return word.slice(0,1)
}
function lastLetter(word){ return word.slice(-1)}// etracts last letter of word
function middleWords(word){ return word.slice(1,-1)} //extracts middle letters
function realPalindrome(word){ // palindrome algorithm
if (word.length<=1){
return true
}
if(fisrtLetter(word)!==lastLetter(word)){
return false
}
return realPalindrome(middleWords(word))
}
function palindrome(str) {
var filteredWord = returnAlphabet(str).join('')
return realPalindrome(filteredWord)
}
**Your browser information:**
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
.
Challenge: Palindrome Checker
Link to the challenge: