2 ssaypiano ssaypiano 于 2013.12.22 22:12 提问

javascript中通过索引访问数组元素的问题

我想编写如下程序:
1、定义一个包含26个小写字母的数组

2、请用户输入0-25之间的自然数

3、alert对话框显示输入自然数作为索引对应的字母

代码如下:

<script>

 //定义一个数组,包含了26个字母
 var alphabet=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];

 //用户输入0-25之间的数字,并赋值给变量i
 var i=prompt("请输入0-25之间的数字"); 

 //把索引为i的数组元素赋值给变量letter
 var letter=alphabet[i];

 //对话框显示对应的字母
 alert("对应的字母是:"+letter);     

 </script>

我基础知识欠缺,这段代码不能运行;请高手指点错误;

如果能让这段代码正常运行,下一步我想编写一段加密的小程序,即用户输入字符串,程序把字符串中的每个字母按某种规则重写输出(比如每个字母按字母表顺序向后移动3位输出)

3个回答

YangRuiHong
YangRuiHong   2013.12.23 09:08
已采纳

alphabet数组内的26个字母,要加引号,例如‘a’,'b'...

ssaypiano
ssaypiano 感谢YangRuiHong网友,大家的热心帮助让我学习JS节省了不少时间,真诚感谢!
大约 4 年之前 回复
huangjinhe007
huangjinhe007   2013.12.23 10:19

楼上说的很对,按照他说的就可以运行了,建议把用户提示改成:var i=prompt("请输入1-26之间的数字");然后var letter=alphabet[i-1];
因为一般的用户不清楚数组是从0开始的,他们会认为1就是对应的a,26对应的z。写程序有时候需要从用户的角度去思考,提高用户体验。

u013251074
u013251074   2013.12.23 10:38

楼上的解决方案是对的。文本类型的赋值要用双引号"或单引号'

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!