求助:如何实现输入数字获取JavaScript数组对应元素的功能
解决你的数组下标查询问题
嘿,刚接触编程完全不用不好意思~我帮你看看这段代码的小问题,很容易解决的!
你的核心思路是对的:定义数组,输入下标后显示对应元素。但现在代码的问题是,点击按钮时传给printit函数的number是文本框这个DOM元素本身,不是你输入的数字值,所以数组没法找到对应的下标。
我给你调整一下代码,同时加了点小优化(比如判断输入是否有效),这样用起来更顺手:
<script> var minArray = ["Hello", "Hi", "Yes", "No", "Good"]; function printit() { // 先获取文本框的输入值,转成数字类型 var inputNum = parseInt(document.getElementById('number').value); var testElement = document.getElementById('test'); // 检查输入是否是有效下标:数字,且在数组的下标范围内(数组下标从0开始哦) if (!isNaN(inputNum) && inputNum >= 0 && inputNum < minArray.length) { testElement.innerHTML = minArray[inputNum]; } else { testElement.innerHTML = "请输入0到" + (minArray.length - 1) + "之间的有效数字哦"; } } </script> <form name="f1"> <input type="text" value="" id="number" placeholder="输入0-4的数字" /> <input type="button" value="Word is:" onclick="printit()" /> </form> <br/> <div id="test"></div>
改动说明:
- 把
printit函数的参数去掉了,改成在函数内部直接获取文本框的输入值,逻辑更清晰 - 用
parseInt把输入的字符串转成数字类型(因为文本框输入的内容默认是字符串) - 加了有效性判断:如果输入不是数字,或者超出数组的下标范围(你的数组有5个元素,下标是0到4),就显示提示信息
- 给文本框加了
placeholder提示,用户能更清楚该输入什么
你可以试试输入0显示Hello,输入1显示Hi,完全符合你的需求啦~
内容的提问来源于stack exchange,提问作者J. Doe Foe
相关产品推荐
相关产品推荐

