回文测试功能

时间:2015-08-09 13:07:04

标签: math palindrome

我正在尝试为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;
  }
}

1 个答案:

答案 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中的布尔值。