在javascript中反转一个字符串

时间:2014-01-28 16:51:44

标签: javascript

我借了一段用于在JavaScript中反转字符串的代码。然而,它无法完成。

                <!DOCTYPE HTML>
            <html>
            <head>
            <meta charset="utf-8">
            <title>P4--Largest palindrome product</title>
            </head>
            <body>
            <!--A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.

            Find the largest palindrome made from the product of two 3-digit numbers.
             --> 
            <script type="text/javascript">
            var newdiv = document.createElement('div');
            newdiv.innerHTML=Palindromic();
                alert(Palindromic());
            function Palindromic(){
                var x;
                var a;
                var b;
                for(i=999*999;i>=100*100;i--)
                {
                    x=i.toString();
                    if(x != x.reverse())
                       continue;
                    else
                    {
                        for(j=100;j<999;j++)
                        {
                            if(i%j == 0)
                            {
                                var y =i/j;
                                if(y>=100 && y<=999)
                                {
                                    a=i;b=y;
                                    break;
                                }
                            }
                        }
                    }
                }
                return x;
            }
            String.prototype.reverse = function() {
              return this.split('').reverse().join('');
            }
            </script>
            </body>
            </html>

错误是“没有方法'反向'”。

2 个答案:

答案 0 :(得分:3)

您需要在使用之前定义String.prototype.reverse函数。

把这段代码

String.prototype.reverse = function() {
  return this.split('').reverse().join('');
}

在顶部而不是在底部。

答案 1 :(得分:1)

<强> ES6: 试试这个功能

function reverse(str) {
           // 1 //    // 2 //   // 3 //
    return [...str].reverse().reduce((rev,el) => rev + el,'');
}
  1. 将字符串扩展为字符数组
  2. 反转数组
  3. 在数组上减少方法以获取先前的值并累积。