JS算法练习
1、随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么?
①.数组添加元素的方式得到位数(数组长度)与值(数组元素) ①.数组添加元素的方式得到位数(数组长度)与值(数组元素)
var rand=Math.floor(Math.random()*100000);
/* ---生成随机五位数---
①Math.random()取随机数,范围[0,1),100000是放大其范围。
②Math.floor---向下取整---*/
console.log(rand);
/*---在控制台打印这个五位数以观察---*/
var arr=[];
while (rand !== 0) {
arr.unshift(rand % 10);
rand=Math.floor(rand / 10);
}
/* ---将这个生成的随机数每一位放入数组中- ①当随机数不等于0时,随机数从个位开始依次求模,再放入数组中每求摸一次,随机数减少一 ②arr.unshift()将一个或多个元素添加到数组的开头,并返回新数组的长度。
*/
console.log("共"+arr.length+"位");
console.log(arr);
/*---在控制台打印以观察---*/
②.数据类型转换得出位数,遍历数组得到每一位
var rand=Math.floor(Math.random()*100000)
/* ---生成随机五位数---
①Math.random()取随机数,范围[0,1),100000是放大其范围。
②Math.floor---向下取整---*/
console.log(rand)
/*---在控制台打印这个五位数以观察---*/
var s=rand+""
/*---将随机数转换为一个字符串---
通常情况下使用这种“+”号形式的引式转换,和s=String(num)强制类型转换,达到的效果相同
*/
console.log(s.length)
/*---打印出的字符串长度即为随机数位数---*/
var arr=new Array(s.length)
for (var i = arr.length-1; i >=0; i--) {
arr[i]=rand%10;
rand=Math.floor(rand/10)
}
/*---遍历随机数位数数组每一位得到值---*/
console.log(arr)
/*---打印数组以观察---*/