Javascript 如何创建检查日期是否为回文的函数?

Javascript 如何创建检查日期是否为回文的函数?,javascript,Javascript,我的问题有两部分。我在检查一个日期是否是回文。在下面的代码中,即使字符串实际上是回文,我也会不断得到非回文的结果 function isPalindrome(str){ var rev = str.reverse; if(str === rev){ console.log("This is a palindrome."); } else{ console.log("Not a palindrome"); } } isPal

我的问题有两部分。我在检查一个日期是否是回文。在下面的代码中,即使字符串实际上是回文,我也会不断得到非回文的结果

function isPalindrome(str){
    var rev = str.reverse;
    if(str === rev){
        console.log("This is a palindrome.");
    }
    else{
        console.log("Not a palindrome");
    }
}

isPalindrome("2002");
问题的第二部分是:如果我想让函数接受两个参数函数isAlindromestart_date,end_date,让它检查回文年份之间的日期,然后按时间顺序返回这些年份,我该怎么做?我没有要求任何人真正为我做这件事。我只是要求解释一下如何完成它


提前感谢。

可能是您正在使用的反向功能。您可以输出rev的值来查看其中一个发生了什么


我建议您使用此选项:

您是否先去掉非数字字符

var strippedDate = str.replace(/[^\d]/g, "");
return strippedDate == strippedDate.reverse();

我不熟悉任何人的本机javascript实现中的任何字符串反转函数。但这是我不久前写的一篇关于回文的文章,fwiw:

String.prototype.reverse = function (){
    //Another way to reverse a string is to use Array's reverse:
    //  "this.split('').reverse().join('')"; 
    //but that's boring, and recursion is fun!
    if (this.length < 2) { return this.toString() };
    return this.slice(-1) + this.slice(0,-1).reverse();
}
String.prototype.is_palindrome = function (){
    return this.toString() === this.reverse();
}
这将检查字符串是否为回文


至于你问题的第二部分,我不知道该怎么做。首先,我将通过javascript的Date对象查看本机可用的内容。检查MDN。你只需要处理年份,所以我只需要首先计算年份范围,然后迭代,一路上检查回文。

@bobdye这一点都没有帮助javascript中的字符串没有本机反转函数。这种反向定义在哪里?此外,如果希望它反转字符串,则需要用括号调用它。反向var=mystr.reverse;我不知道这个问题的存在。它回答了我的问题,谢谢。