我想知道我的逻辑哪里出了问题。一个字符串(str
)被作为参数(该字符串可以是小写字母、大写字母以及包含逗号和句号的混合)并被赋值给变量string
。之后该字符串被反转,如果与原始字符串相等,则返回值为true
。如果不相等,则显示false
的返回值。为什么它会评估一切都是true?
function palindrome(str) {
var string =str.toLowerCase().replace(/\s/g, '').replace(/,/g , '').replace(/./g , '');
if (string==string.split("").reverse().join("")) {
return true;
}
else{
return false;
}
}
palindrome("nope");
string.split("").reverse().join("");
请注意,这个技巧适用于使用拉丁字符集的英语和其他一些语言,但在使用Unicode字符点> 16位的语言中可能会失败。 - Jeremy J Starcher