我写了这段代码一个练习的一部分来检查天气或不是一个字符串是palindromes。他们的程序在检查字符串方面工作正常,但当字符串不是回文时它不返回错误。我究竟做错了什么?感谢JavaScript程序来检查一个字符串是否回文假回复
//convert the string to array
var stringArr = [ ];
var bool;
function palindrome(str) {
// make lowercase
var lowerCase = str.toLowerCase();
//remove numbers, special characters, and white spaces
var noNumbers = lowerCase.replace(/[0-9]/g, '');
var noSpecials = noNumbers.replace(/\W+/g, " ");
var finalString = noSpecials.replace(/\s/g, '');
stringArr = finalString.split("");
if (stringArr.sort(frontToBack)==stringArr.sort(backToFront)) {
bool = true;
}
else {
bool= false;
}
return bool;
}
function frontToBack (a,b) {return a-b;}
function backToFront (a,b) {return b-a;}
palindrome("eye");
我认为这个问题更适合代码审查? http://codereview.stackexchange.com/ –