【问题标题】:Why does reverseString print undefined when console.log Javascript [duplicate]为什么在console.log Javascript时reverseString打印未定义[重复]
【发布时间】:2018-07-22 00:23:20
【问题描述】:

我正在尝试反转一个字符串,但是当我在 chrome 控制台中使用 console.log 时,我会得到如下值:

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

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

为什么反串前面有undefined?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您从str.length 中的i 开始。在第一次迭代中,str[i] 解析为 str[str.length],但字符串是零索引的,而不是单索引的,因此它始终是 undefined。从str.length - 1 开始:

    function reverseString(str) {
      let newString = "";
      for (let i = str.length - 1; i + 1 > 0; i--) {
        newString = newString + str[i];
      }
      return (newString);
    }
    console.log(reverseString("hello there"));

    【讨论】:

      猜你喜欢
      • 2018-12-21
      • 1970-01-01
      • 2018-12-30
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2012-05-03
      相关资源
      最近更新 更多