生成[1,2,,3,4,5,6,7,8,9]的随机数组?
今天突然看到了一道有关js的题,想了一下,没有想出怎么做,我是一个小白,在学习的道路上,此时心想认真琢磨一下吧,下面是自己琢磨的过程。
第一步:当然是声明一个存放随机数的数组啦,其次数组里面有1-9,需要9个值,很明显需要循环,在想在什么条件下循环呢,因为数组是从0计数的,所以循环条件
i的值取0-8,即i<9或i<=8.
我在最后打印了一下结果,运行结果:[3,9,4,4,8,3,0,2,9]是生成了9个数,但是很明显有三个错误:(1) 结果中含有“0” (2)有重复的数字 (3)数字没有排序
只要把这三个问题解决了就0k了。
第二步:首先解决第一个问题
随机数放进数组前首先判断下是不是大于0,然而运行结果却是怎样:[7,9,7,9,3,3,1,6],什么?为什么只有8个数,原来是有一个值为0,被残忍的关在数组外了,但是它还穿着带有编号的衣服,那该怎么办呢,导致会少好多值,让我们遇到这种情况来个else,运行一下结果为[9,7,2,7,3,1,5,4,6],第一个问题算是解决了。
第三步:就是数组去重,就是把生成的随机数与数组之前已有的所有数字进行比较,结果都不一样,然后再放进去,如果有一个一样的,是不是也要把它带有编号的衣服脱掉啊,现在新的随机数只要不和已有的任何一个不同就可以放进去了,我们加个计数器,计数器最终的值和已有数组的length相等就可以把新的随机数放进数组了,计数器肯定要加在生成随机数循环的里面,因为每次生成新的随机数计计时器都要清空。
第四步,数组排序,大家都知道数组的sort()方法,但是数字排序会出现问题,比如:1,2,11,22,进行排序会出现问题,输出:1,11,2,22,它只会根据第一位数字进行排序,所以我们要加一个排序函数,function sortnum(a,b){return a-b;},从小到大是a-b,从大到小是b-a,字母只用sort()
总结:个人是小白,只能慢慢来,从简单的做起,一点一点的掌握。如有大神偶然路过,勿喷。
转载于:https://www.cnblogs.com/tangshuixian8/p/5859910.html
生成[1,2,,3,4,5,6,7,8,9]的随机数组?相关推荐
- 多线程生成随机数组+双线程归并排序(C++实现)
算法概述 动态数组生成 多线程随机数组生成 双线程归并排序 代码 #include <iostream> #include <thread> #include <ctim ...
- python生成多个列表_python生成多个只含0,1元素的随机数组或列表(代码)
python生成多个只含0,1元素的随机数组或列表(代码) >>> import numpy as np >>> myarray= np.random.randin ...
- 输出英文字母java数组_JAVA语言之通过生成随机数组来转化为字母进行输出的类...
本文主要向大家介绍了JAVA语言之通过生成随机数组来转化为字母进行输出的类,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 今天又写了一个通过生成随机数组来转化为字母进行输出的类,但是 ...
- 数据结构第一课:希尔排序和选择排序的时间复杂度随机数组的生成
随机生成数组 #include <iostream> #include <algorithm> #include<ctime> #include<time.h ...
- python生成随机数组_python3.x 生成3维随机数组实例
python3.x 生成3维随机数组实例 如下所示: import numpy as np a=np.random.randint(0,10,size=[3,3,3]) print(a) 以上这篇py ...
- JS 生成随机数/随机数组
生成范围内随机数 function rand(min,max) {return Math.floor(Math.random()*(max-min))+min; } 生成随机数组 简单的随机生成 fu ...
- java生成随机数组_JAVA生成随机数组10个数字并求和
JAVA生成随机数组10个数字并求和 本文最终结果大概是这样的',使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以 ...
- 【python初学者日记】读入正整数n,生成并输出一个含有n个0~100之间的随机列表,求其平均值(保留2位小数)
读入正整数n,生成并输出一个含有n个0~100之间的随机列表,求其平均值(保留2位小数) 问题分析 代码实现 问题分析 本题涉及了几个基础概念:循环.随机数.列表.代码比较简单,可以加深对这3个概念的 ...
- matlab如何生成空矩阵,怎样在MATLAB中创建空的N维数组,怎样才能正确扩充多维数组...
1.一个三维数组由行.列和页三维组成,其中每一页包含一个由行和列构成的二维数组. 2.利用标准数组函数创建多维数组 A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand ...
- javascript 生成一个一亿长度的随机数组,从中排列出最大的1000个项;
为什么80%的码农都做不了架构师?>>> 1.生成一亿个随机数,从中选出最大的100个 主要思想:直接选取这一亿条数据的前100项,生成一个新数组newArray,对newAr ...
最新文章
- dev c++自动排版_再也不头疼文字排版了
- vue2.0 项目搭建 和vue 2.0 electron 项目搭建
- Android开发之设置DialogFragment的窗体背景色的方法亲测可用
- python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!
- 【转】shell pipe与输入输出重定向的区别
- python在线包安装mysql_python安装mysql的依赖包mysql-python操作
- django select option拼接时value中空格后的内容被截断
- Vi和Vim的区别和联系
- (转)Bootstrap3 概述
- 【服务器】宝塔LNMP安装Discuz!
- 4 基于优化的攻击——CW
- GB28181协议之录像回放
- MATLAB基础篇——线性代数应用
- 一名优秀的UI设计师 都要掌握哪些设计软件
- 订阅消息 data.thing1.value is emtpy
- 洛阳最新打卡地--洛阳新都汇购物公园变样啦
- c语言运算符ppt,C语言运算符课件.ppt
- 邮件客户端如何配置阿里云企业邮箱
- Windows安装pytorch,傻瓜式教程
- kettle中报org.gjt.mm.mysql.Driver 解决办法
热门文章
- LINUX下载编译libvpx
- 有多么巨大的工作量,要交接一个月?
- 开会不要带没用的记事本、笔
- 在有的公司,高手遍地走,天才不如狗
- 表带可作为显示操作装置
- IP地址 网络地址 主机地址
- linux检查启动与否,关于linux启动的问题。
- matlab的lambda,matlab lambda 级数
- .java和.class的区别_Java中class与Class有什么区别
- python输出文本和值_Python有没有函数打印当前对象的所有属性和值?_others_酷徒编程知识库...