【发布时间】:2016-02-29 17:51:18
【问题描述】:
回文是一个单词、短语、数字或其他符号或元素的序列,其含义可以正向或反向以相同的方式解释。著名的例子包括“Amore, Roma”、“A man, a plan, a canal: Panama”和“No 'x' in 'Nixon'”。 - 维基百科
我们的目标是确定给定字符串是否为有效回文。
测试用例:
Test.assertEquals(palindrome("Amore, Roma"), true)
Test.assertEquals(palindrome("A man, a plan, a canal: Panama"), true)
Test.assertEquals(palindrome("No 'x' in 'Nixon'"), true)
Test.assertEquals(palindrome("Abba Zabba, you're my only friend"), false)
到目前为止我的代码:
function palindrome(string) {
var str = string.toLowerCase().replace(/[^a-z]+/g,"");
var rev= str.split("").reverse().join("");
if (string == rev) {
return true;
} else {
return false;
}
}
显然join 未定义,但我不明白为什么?
【问题讨论】:
-
您遇到的具体错误是什么?
-
你需要检查
str == rev,你可以通过只返回str == rev而不需要ifelse来简化代码 -
你能举出它不起作用的具体例子吗?
标签: javascript palindrome