我的字符串反转功能在开头添加“undefined”

时间:2016-12-01 17:09:56

标签: javascript html

我有一小段HTML和JavaScript代码。我想写一个反转输入字符串的函数。例如,输入= hello,输出= olleh

这是我到目前为止所做的:

function go() {
  var input = document.getElementById("input").innerHTML;
  var output = document.getElementById("input");
  var result = "";

  for (var i = input.length; i >= 0; i--) {
    result += input[i];
  }
  output.innerHTML = result;
}
onload = go;
<!DOCTYPE html>
<html>

<head>
  <script type="text/javascript" src="question4.js"></script>
</head>

<body>
  <div id="input">This text here</div>
  <div id="output"></div>
</body>

</html>

一切正常,但输出结果前面有undefined。它看起来像这样:

  

undefinedereh txet sihT

如何让undefined消失?

2 个答案:

答案 0 :(得分:1)

var i = input.length更改为var i = input.length-1因为您第一次循环播放时会尝试获取input[i](其中iinput的长度数组)。

如果数组中有10个项目,i将为10,但元素10的正确索引为9。

答案 1 :(得分:0)

从input.length-1

开始循环