【问题标题】:Why does my code output undefined before the reversed string?为什么我的代码在反转字符串之前输出未定义?
【发布时间】:2019-09-19 20:09:43
【问题描述】:

我试图通过遍历每个单词并将其插入空字符串来反转字符串。然后程序输出undefinedolleh

function reverseString(str) {
  let final = "";
  for (let i = str.length; i >= 0; i--) {
    final += str[i];
  }
  return final;

}

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

【问题讨论】:

  • 只需更改let i = str.length-1

标签: javascript string reverse


【解决方案1】:

数组和字符串索引从 0 开始。因此您尝试访问不存在的 str.length 位置。

str.length-1开始:

function reverseString(str) {
  let final = "";
  for (let i = str.length-1; i >= 0; i--) {
    final += str[i];
  }
  return final;

}

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

【讨论】:

    【解决方案2】:

    您的问题是您试图越界访问您的字符串。字符串的索引从 0 到 string.length - 1

    顺便说一句,已经有一个反转数组的函数。所以,要反转一个字符串,你只需要将它转换为数组,反转它,然后再转换回一个字符串

    console.log("hello".split("").reverse().join(""));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      相关资源
      最近更新 更多