为了账号安全,请及时绑定邮箱和手机立即绑定

使用递归javascript反转字符串

使用递归javascript反转字符串

湖上湖 2022-10-21 11:06:39
在这个程序中,我尝试检查给定的输入是否为字符串,如果不是字符串,则表示控制台输出输入值,否则使用递归函数反转字符串。当我提供输入typeof代码时,出现错误第一行,没有它它可以正常运行......function reverseString(str) {  if (typeof str !== "string"){    return str;  }  else{   return reverseString(str.substr(1)) + str.charAt(0); }}console.log(reverseString("good"));
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

function reverseString(str) {

  if (typeof str !== "string") {

    return str;

  }


  // you must add this line. rest of the code is fine

  if (!str.length) return str; // this terminates the recursion when it reaches the end


  return reverseString(str.substring(1)) + str.charAt(0);

}


console.log(reverseString("!detseT"));


查看完整回答
反对 回复 2022-10-21
?
四季花海

TA贡献1811条经验 获得超5个赞

您可以迭代字符串并用于charAt(str.length - 1)从字符串中获取元素。然后str.slice(0, str.length - 1将从字符串中删除最后一个字符并调用相同的递归函数


function reverseString(str, finalStr) {

  if (!finalStr) {

    finalStr = '';

  }

  if (str.length === 0) {

    finalStr += str;

    return finalStr

  } else {

    finalStr += str.charAt(str.length - 1);

    return reverseString(str.slice(0, str.length - 1), finalStr)

  }


}


console.log(reverseString("good"));


查看完整回答
反对 回复 2022-10-21
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

为什么不直接用这个?


function reverseString(str) {

  if (typeof str !== "string"){

    return str;

  }

  else{

   return str.split('').reverse().join('');

 }

}

console.log(reverseString("good"));

您将字符串拆分为字符数组,将其反转并加入它。


查看完整回答
反对 回复 2022-10-21
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号