我正在尝试为http://www.freecodecamp.com/challenges/bonfire-check-for-palindromes制作回文测试功能 运动,我不明白为什么下面的功能不起作用。我拿出所有非字母,小写 - 问题是什么?
function palindrome(str) {
if (str.replace(/[^A-Za-z]/g, '').toLowerCase().split('').reverse().join('')===str)
{
return true;
}
else {
return false;
}
}
答案 0 :(得分:0)
你取出了所有的非字母,只转换为小写的左边,然后(在复归之后)你将它等同于str,它可能仍然有大写和非字母
尝试:
function palindrome(str) {
return str.replace(/[^A-Za-z]/g, '').toLowerCase().split('').reverse().join('') === str.replace(/[^A-Za-z]/g, '').toLowerCase();
}
请注意,如果(x)返回true,则无需返回false返回false,您只需返回if中的布尔值。