随机生成一个5位以内的数,然后输出该数共有多少位,每位分别是什么

//方法一:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* 函数名:randomFiveNumber
* 参数:无
* 作业:随机生成一个5位以内的数,然后输出该数共有多少位,每位分别是什么
*/
function randomFiveNumber ()
{
var arr = [];
var iRandomOne = parseInt(Math.random() * 100000);
//产生5位数的随机整数,生成的数为number
var sRandomOne = String(iRandomOne);
//转化为string就可以用string 的length进行分割
for(var i = 0; i < sRandomOne.length; i++)
{
arr.push(sRandomOne[i]);
}
console.log('生成的随机数:' + iRandomOne);
console.log('位数:' + sRandomOne.length);
for(var i = 0; i < arr.length; i++)
{
console.log('第'+ (i + 1) + '个' + arr[i]);
}
}

randomFiveNumber();

</script>
</head>
<body>
</body>
</html>

 

效果图 ↓

 

//方法二:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* 函数名:randomFiveNumber
* 参数:无
* 作用:随机生成一个5位以内的数,然后输出该数共有多少位,每位分别是什么
*/
function randomFiveNumber ()
{
var arr = [];
for(i = 1; i <= 5; i++)
{
var iRandomOne = parseInt(Math.random() * 10);
//产生10以内的随机整数
arr.push(iRandomOne);
}
for(j = 0; j < 5; j++)
{
//判断有几个数:若第一个数为0则删除第一个数,若不是0,则不删除跳出循环
if(arr[0] == 0)
//arr[0]的作用是始终做数组的一个数进行判断
{
arr.shift();
}else{break;}
}
console.log('随机数:' + arr.join(''));
console.log('个数: ' + arr.length + '个');

for(var i = arr.length - 1; i >= 0; i--)
{
console.log('第' + (arr.length - i) + '个'+ arr[i]);
}
}
randomFiveNumber();

</script>
</head>
<body>
</body>
</html>

效果图 ↓

 

/*
* 区别:
* 方法一是先获取5位数的随机数,然后再变成字符串切割成数组,最后输出数组的每个数
* 方法二是现获取每位随机数然后保存到数组中,再对数组进行判断arr[0]是否为0,为0则删除,最后对arr的每个值输出,arr的长度的输出,arr合并成字符串输出
* 本质上是没有区别的
*/

 

posted @ 2017-08-26 14:54  背壳前进的牛  阅读(5900)  评论(0编辑  收藏  举报