javascript - What's is going wrong with this "Check for Palindromes" JS Function? -
i'm practising js exercise, , got stuck palindromes function. there i'm not been able figure out, code not splitting string array.
function palindrome(str) { var re = (/[^\w]/g); str.replace(re).tolowercase(); var newstr= str.split().reverse().join(''); if(str=== newstr){ return true; } else{ return false; } } palindrome("eye"); palindrome("not palindrome"); //not working str.
so how split() should presented in code works.
maybe want:
function palindrome(str) { str = str.replace(/[^\w]/g, "").tolowercase(); var reversestr = str.split("").reverse().join(''); return str === reversestr; }
this fixes several problems in original code:
you calling
.replace()
, not passing 2nd argument replace anything..replace()
returns new string have assign result in order use result of replace operation.you calling
.split()
no arguments doesn't split it. should call.split("")
split array of characters.
working snippet logs results:
function palindrome(str) { str = str.replace(/[^\w]/g, "").tolowercase(); var reversestr = str.split("").reverse().join(''); var result = (str === reversestr); log(str + ": " + reversestr + ": " + result); return result; } function log(x) { var d = document.createelement("div"); d.textcontent = x; document.body.appendchild(d); } palindrome("eye"); palindrome("race car"); palindrome("not palindrome"); //not working str. palindrome("a man, plan, canal. panama"); palindrome("never odd or even"); palindrome("nope"); //not working str.
Comments
Post a Comment