赞
踩
记录并且介绍四种方法,而且会详细说明由来以及原因,只是一个学习的记录,请各位指正。
- var num = parseInt(Math.random()*100000)//首先创建一个五位数的随机数(Number)
- console.log(num)//打印出来
- //把每一位都单独提出来
- var one = parseInt(num/10000);
- var two = parseInt(num/1000%10);
- var thr = parseInt(num/100%10);
- var four= parseInt(num/10%10);
- var fif = num % 10;
- //倒着输出一下
- var arr = [fif,four,thr,two,one]
- //循环删除最后的0,这个方法笨一点,if嵌套判断
- for(var i = 0;i<arr.length;i++){
- if(Number(arr[4])===0){
- arr.pop()
- // console.log(arr,arr.length)
- if(Number(arr[3])===0){
- arr.pop()
- // console.log(arr,arr.length)
- if(Number(arr[2])===0){
- arr.pop()
- // console.log(arr,arr.length)
- if(Number(arr[1])===0){
- arr.pop()
- }else{break}
- }else{break}
- }else{break}
- }else{
- break;
- }
- }
- //输出arr这个数组,并且输出长度
- console.log(arr,arr.length)
- //接下来输出每一位
- console.olg(arr[0],...)

- var arr = [];//首先利用字面量生成一个空数组
- //利用Math.random乘100000来生成五位数(Number)
- var random_num = parseInt(Math.random() * 100000);
- //打印出来看一看
- console.log(random_num);
- //设置一个名为count的记录变量
- var count = 0;
- //for循环来为arr空数组来赋值
- for(var i = 0; i < 5; i++){
- //给这个五位数(Number)求模,第一次循环的时候是个位,第二次循环时十位...
- var res = random_num % 10;
- //如果求模等于0,证明这次生成的数为0,退出本次循环
- if(random_num === 0){
- continue;
- }
- //每一次循环都/10,然后求整,为了下一次循环求模创造条件
- random_num = parseInt(random_num / 10);
- //把每一次求模得到的数添加到数组
- arr.push(res);
- //count记录变量记录添加的次数
- count++;
- }
- console.log(count);
- console.log(arr);
- console.log(arr[0],...)

利用的是生成随机数组个数然后再填入随机数
- //先创建函数来封装这个方法
- function getRnadomFiveInt(){
- //创建空数组
- var temp = [];
- //for循环来生成随机五个数组元素,有可能是五个||四个||其他
- for(var i = 0 ; i < 1 + parseInt( Math.random() * 5) ; i ++){
- //生成一个random_int的变量来存放0-9的随机数
- var random_int = parseInt( Math.random() * 10 );
- //如果这个数组为0位||生成的随机数为0,random_int被赋值为random_int+0-9的随机数然后求模
- if( i === 0 && random_int === 0 ){
- random_int = (parseInt( Math.random() * 10 ) + random_int) % 10;
- }
- //在temp空数组中添加随机数
- temp.push( random_int );
- }
- //输出数组,数组长度,并且输出数组的每一位直接添加-号
- console.log(temp , temp.length , temp.join("-"));
- }
- //执行函数
- getRnadomFiveInt();

- //先创建函数来封装这个方法
- function getRnadomFiveInt(){
- //创建空数组
- var temp = [];
- //for循环来生成随机五个数组元素,有可能是五个||四个||其他
- for(var i = 0 ; i < 1 + parseInt( Math.random() * 5) ; i ++){
- //生成一个random_int的变量来存放0-9的随机数
- var random_int = parseInt( Math.random() * 10 );
- //如果这个数组为0位||生成的随机数为0,返回函数,利用递归来继续循环
- if( i === 0 && random_int === 0 ){
- return getRnadomFiveInt();
- }
- //在temp空数组中添加随机数
- temp.push( random_int );
- }
- //输出数组,数组长度,并且输出数组的每一位直接添加-号
- console.log(temp , temp.length , temp.join("-"));
- }
- //执行函数
- getRnadomFiveInt();

上面四种方法只是自己遇到这样的题思考得出,并不代表全部,如果还有其他比较好玩的方法,欢迎留言
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。