回文试验也需要返回假

时间:2015-05-08 00:41:57

标签: javascript palindrome

function palindrome(str) {
    str.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~   ()]/g,"").toLowerCase().split().reverse().join();
    return true;
}
palindrome("eye");

1 个答案:

答案 0 :(得分:0)

如果您查看代码,无论如何都会返回true。您需要测试字符串是否等于反向字符串。

function palindrome (str) {
    var string = (str+'').replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~\ ()]/g,"").replace(/\s/g, "").toLowerCase();
    return string === (string.split('').reverse().join(''));
}

<小时/>

分解

  • 首先,我们创建一个私有变量_str。我们使用+''将其设为字符串。然后我把你的替换代码替换掉那些字符。
  • 现在,我们有条件声明。这是看_str所做的是否相反。 .split('').reverse().join('')是反转字符串。 return将返回这是真的与否

试验:

  

isPalendrome(151);➥true

     

isPalendrome('eye');➥true

     

isPalendrome(2552);➥true

     

isPalendrome(12);➥假

     

isPalendrome('foo');➥假