Javascript 什么';我的reverse()函数有什么问题吗?

Javascript 什么';我的reverse()函数有什么问题吗?,javascript,while-loop,Javascript,While Loop,我的代码 当我使用单词cat时,函数不返回任何内容 function reverse(str) { let result = ''; let i = str.length-1; while ( i < 0) { result = result + str[i]; i--; } return result; }// END``` 功能反转(str){ 让结果=“”; 设i=str.length-1; 而(i=0){ 结果=结果+str[i]; 我--;

我的代码

当我使用单词cat时,函数不返回任何内容

function reverse(str) {
  let result = '';
  let i = str.length-1;
  while ( i < 0) {
    result = result + str[i];
    i--;
  }
  return result;
}// END```
功能反转(str){
让结果=“”;
设i=str.length-1;
而(i<0){
结果=结果+str[i];
我--;
}
返回结果;
}//结束```

您需要获取
长度
并检查循环是否大于或等于零

功能反转(str){
让结果=“”;
设i=str.length-1;
而(i>=0){
结果=结果+str[i];
我--;
}
返回结果;
}

控制台日志(反向(“cat”)使用
str.length而不是
str.legth-1
legth
不是一个函数。
length中的函数

功能反转(str){
让结果=“”;
设i=str.length;
而(我--){
结果=结果+str[i];
}
返回结果;
}

console.log(反向(‘省略号’)
您有输入错误和逻辑错误:

function reverse(str) {
  let result = '';
  let i = str.length - 1;  // str.length
  while (i >= 0) { // greater than equal to :)
    result = result + str[i];
    i--;
  }
  return result;
}
你可以用reduce

const reverse=str=>str.split(“”).reduce((结果,字符)=>char+result);

控制台日志(反向(“cat”)
legth
不存在。您有
而(i<0)
,这一定是一个输入错误,因为
i
永远不会小于0,如果isi确实小于0,
str[i]
将抛出一个错误。(i<0)--应该是(i>=0)