Javascript简单的回文功能

时间:2017-02-03 05:06:01

标签: javascript palindrome

 function palindrome(str) { // "Hello there"
   str.toLowerCase(); // "hello there"
   str = str.replace(/\s/g, ""); // "hellothere"
   var a = str;
   a.split("").reverse().join(""); // a = "erehtolleh"
   return (str === a); // "hellothere" === "erehtolleh"
 }

 alert(palindrome("123432"));

我传递了非-palindromic值123432,但它返回true值。 谁知道我的回文功能有什么问题?如果有人能检查我的逻辑,我真的很感激。

2 个答案:

答案 0 :(得分:4)

您需要将a的值指定为返回函数

function palindrome(str) {                       // "Hello there"
    str.toLowerCase();                               // "hello there"
    str = str.replace(/\s/g, "");                    // "hellothere"
    var a = str;                             
    a = a.split("").reverse().join("");                  // a = "erehtolleh"
    return (str === a);                             // "hellothere" == "erehtolleh"
}


alert(palindrome("malayalam"));

答案 1 :(得分:1)

试试这个,String是不可移动的,所以你需要将反向的String分配给变量,或者像这样与原始和反向的String进行比较。



function palindrome(str) { // "Hello there"
  str.toLowerCase(); // "hello there"
  str = str.replace(/\s/g, ""); // "hellothere"
  // var a = str.split("").reverse().join(""); // a = "erehtolleh"
  return (str === str.split("").reverse().join("")); // "hellothere" == "erehtolleh"
}


alert(palindrome("12321"));
alert(palindrome("1232"));