FreeCodeCamp:检查回文

时间:2017-01-19 10:45:40

标签: javascript

这是我的第一个问题,如果没有正确格式化或放置在适当的区域,我会道歉。

我刚刚完成FreeCodeCamp检查回收挑战。我无能为力,但认为我的解决方案非常不优雅。

function palindrome(str) {
  var cleanString = str.replace(/[^A-Za-z0-9]/g, '');
  var lowerCleanString = cleanString.toLowerCase();
  var lowerArr = lowerCleanString.split('');
  var reverseArr = lowerArr.reverse();
  var joinedArr = reverseArr.join('');
  if (joinedArr === lowerCleanString) {
    return true;
  }
  // Good luck!
  else {
   return false;
  }
}

我知道它有效,但是可以一起或以更清洁的方式完成这些步骤吗?

2 个答案:

答案 0 :(得分:1)

检查回文的简单功能

function checkPalindrome(palindrome) {
return palindrome == palindrome.split('').reverse().join('');
}

答案 1 :(得分:0)

function palindrome(str) {
    var newstr = str.replace(/[\W_]/g,'').toLowerCase();  

    if(newstr === newstr.split('').reverse().join('')){
        return true;
    }
    return false;
}

palindrome("five|\_/|four");

您可以在一行中使用多种方法,就像我使用它们一样。它更简单:) 祝你好运