Javascript 尝试使用数组而不是通过“反转”来反转字符串;经典;方法,但它不';I don’我没有按预期工作

Javascript 尝试使用数组而不是通过“反转”来反转字符串;经典;方法,但它不';I don’我没有按预期工作,javascript,Javascript,我正试着倒转一个字符串。“编写JavaScript程序以反转给定字符串。” 这是我的密码: 函数反转(字符串){ 让我们看看第2条; for(设i=0;i=0){ string2.推(string[n]); n--; } console.log(string2.join(“”)); } 反向(“asdfgh”);您的实际错误是从未初始化string2的值,因此它是未定义的。在循环中,您试图访问string2[5],这会引发错误 你不需要多个循环,你可以用一个循环来完成,如果你想自己做的话,也就

我正试着倒转一个字符串。“编写JavaScript程序以反转给定字符串。” 这是我的密码:

函数反转(字符串){
让我们看看第2条;
for(设i=0;iOneliner:

function reverse(string) {
    return string.split('').reverse().join('');
}

无论您试图以何种方式实现这一点,都可能导致您的时间复杂性更高。您只需要一个for循环就可以实现这一点

函数反转(字符串){
设string2=“”;
对于(设i=1;i
  • 循环
不需要使用
,使用
while循环
  • 初始化数组
    string2=[]
  • 使用函数
    push()
    添加字符
  • 函数反转(字符串){
    设string2=[];
    设n=string.length-1;
    而(n>=0){
    string2.推(string[n]);
    n--;
    }
    console.log(string2.join(“”));
    }
    
    反向(“asdfgh”);
    您的实际错误是从未初始化string2的值,因此它是未定义的。在循环中,您试图访问string2[5],这会引发错误

    你不需要多个循环,你可以用一个循环来完成,如果你想自己做的话,也就是说,用下面的方法

    function reverse(val) {
      var reversed = '';
    
      for (var i = val.length - 1; i >= 0; i--) {
        reversed += val[i];
      }
    
      return reversed;
    }
    
    试一试

    下面是一个快速而肮脏(即不是最好的)的示例,它简单地以相反的顺序迭代原始字符串,将原始字符串的字符追加到新字符串中

    function reverse(orig) {
      var result = "";
      for (var i = orig.length - 1; i >= 0; i--) { 
        result = result + orig[i];
      }
    
      return result; 
    }
    
    // usage:
    reverse("abcde");  // edcba
    

    string2
    从未初始化。此外,对于
    loop.string2,您不需要该
    ,因此任何[index]访问将失败。@4castle,我知道你并不真的需要它,但我尝试过这样做。@AlexK。我知道,但我不知道如何将它定义为一个空变量。这并不能解释OP代码的问题。我知道。我尝试过这样做,但我不知道怎么做。甚至可以在一行中完成,使用split、reverse、join,但我尝试过这样做,因为,这就是我使用它的原因。非常感谢!@f0rta是的,你可以使用内置函数,但通过这种方式你可以了解更多关于JS的信息。不客气!我知道。只是尝试过这样做,但它不起作用,我必须找出原因。我知道string2没有初始化,但我不知道如何使用它将它初始化为一个空变量。非常感谢!非常感谢,我真的不知道如何将它定义为一个空数组,现在我知道了!我已经从其他答案中解决了它。无论如何,非常感谢!传统证明等效(
    
    function reverse(orig) {
      var result = "";
      for (var i = orig.length - 1; i >= 0; i--) { 
        result = result + orig[i];
      }
    
      return result; 
    }
    
    // usage:
    reverse("abcde");  // edcba