一只特立独行的doge
2016-04-23 16:11
代码本意是先输入需要几个随机数,然后将所获得随机数组成一个数组,然后在文本框里面显示这个数组,但是它是一排显示完的,我想让数组的每个元素纵向显示,所以将其赋值成一个i行0列的二维数组,相的是这样就能纵向显示这组随机数。但是,改成二维数组之后,函数就失效了,这是为什么,还有就是有什么方法能够让数组纵向显示
function ranNum(){
var pepNum=parseInt(prompt("how many peopel in ur home?"));//输入几个人需要随机数
var arr=new Array();
for(var i=0;i<pepNum;i++){
arr[i]=Math.round(Math.random()*10)+"\n";
}
document.getElementById("ranNum").value=arr;
}
没加那么多 输出是
3
,6
,5
,9
这样的
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Math </title>
<style>
#ranNum{width:200px;height:300px;}
</style>
<script type="text/javascript">
function ranNum(){
var pepNum=parseInt(prompt("how many peopel in ur home?"));//输入几个人需要随机数
var arr=new Array();
for(var i=0;i<pepNum;i++){
arr[i]=Math.round(Math.random()*10);
}
document.getElementById("ranNum").value=arr.join("\n"); // 这 输出的时候价格join() 里面的\n表示换行 不能用br 我也不知道原因
}
</script>
</head>
<body>
<textarea rows="3" cols="20" id="ranNum"> // 这里 也改了
</textarea>
<input type="button" value="get a random number" onClick="ranNum()"/>
</body>
</html>
完整代码 输出结果
3
0
10
6
这样的 你可能没换text 换行要用textarea
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Math </title>
<style>
#ranNum{width:200px;height:300px;}
</style>
<script type="text/javascript">
function ranNum(){
var pepNum=parseInt(prompt("how many peopel in ur home?"));//输入几个人需要随机数
var myarr=new Array();//新建一个数组用来存放随机数
for(var i=1;i<pepNum;i++){
var myarr[i]=new Array();
myarr[i][0]="第"+i+"个人号数:"+Math.round(Math.random()*10);//获得0-10的随机整数并存入数组
//我上面创建了一个i行0列的二维数组,目的是为了让数组能够纵向排列,看起来更舒服。但是这样写函数就没反应了,这是为什么
}
document.getElementById("ranNum").value=myarr;
}
</script>
</head>
<body>
<input type="text" id="ranNum">
<input type="button" value="get a random number" onClick="ranNum()"/>
</body>
</html>
二维数组是根据一维数组在定义来的 但二维数组输出也不会换行
你可以用一维数组加\n实现
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题