今天突然看到了一道有关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]的随机数组?相关推荐

  1. 多线程生成随机数组+双线程归并排序(C++实现)

    算法概述 动态数组生成 多线程随机数组生成 双线程归并排序 代码 #include <iostream> #include <thread> #include <ctim ...

  2. python生成多个列表_python生成多个只含0,1元素的随机数组或列表(代码)

    python生成多个只含0,1元素的随机数组或列表(代码) >>> import numpy as np >>> myarray= np.random.randin ...

  3. 输出英文字母java数组_JAVA语言之通过生成随机数组来转化为字母进行输出的类...

    本文主要向大家介绍了JAVA语言之通过生成随机数组来转化为字母进行输出的类,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 今天又写了一个通过生成随机数组来转化为字母进行输出的类,但是 ...

  4. 数据结构第一课:希尔排序和选择排序的时间复杂度随机数组的生成

    随机生成数组 #include <iostream> #include <algorithm> #include<ctime> #include<time.h ...

  5. python生成随机数组_python3.x 生成3维随机数组实例

    python3.x 生成3维随机数组实例 如下所示: import numpy as np a=np.random.randint(0,10,size=[3,3,3]) print(a) 以上这篇py ...

  6. JS 生成随机数/随机数组

    生成范围内随机数 function rand(min,max) {return Math.floor(Math.random()*(max-min))+min; } 生成随机数组 简单的随机生成 fu ...

  7. java生成随机数组_JAVA生成随机数组10个数字并求和

    JAVA生成随机数组10个数字并求和 本文最终结果大概是这样的',使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以 ...

  8. 【python初学者日记】读入正整数n,生成并输出一个含有n个0~100之间的随机列表,求其平均值(保留2位小数)

    读入正整数n,生成并输出一个含有n个0~100之间的随机列表,求其平均值(保留2位小数) 问题分析 代码实现 问题分析 本题涉及了几个基础概念:循环.随机数.列表.代码比较简单,可以加深对这3个概念的 ...

  9. matlab如何生成空矩阵,怎样在MATLAB中创建空的N维数组,怎样才能正确扩充多维数组...

    1.一个三维数组由行.列和页三维组成,其中每一页包含一个由行和列构成的二维数组. 2.利用标准数组函数创建多维数组 A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand ...

  10. javascript 生成一个一亿长度的随机数组,从中排列出最大的1000个项;

    为什么80%的码农都做不了架构师?>>>    1.生成一亿个随机数,从中选出最大的100个 主要思想:直接选取这一亿条数据的前100项,生成一个新数组newArray,对newAr ...

最新文章

  1. dev c++自动排版_再也不头疼文字排版了
  2. vue2.0 项目搭建 和vue 2.0 electron 项目搭建
  3. Android开发之设置DialogFragment的窗体背景色的方法亲测可用
  4. python打乱list_超实用!每 30 秒学会一个 Python 小技巧,GitHub 标星 5300!
  5. 【转】shell pipe与输入输出重定向的区别
  6. python在线包安装mysql_python安装mysql的依赖包mysql-python操作
  7. django select option拼接时value中空格后的内容被截断
  8. Vi和Vim的区别和联系
  9. (转)Bootstrap3 概述
  10. 【服务器】宝塔LNMP安装Discuz!
  11. 4 基于优化的攻击——CW
  12. GB28181协议之录像回放
  13. MATLAB基础篇——线性代数应用
  14. 一名优秀的UI设计师 都要掌握哪些设计软件
  15. 订阅消息 data.thing1.value is emtpy
  16. 洛阳最新打卡地--洛阳新都汇购物公园变样啦
  17. c语言运算符ppt,C语言运算符课件.ppt
  18. 邮件客户端如何配置阿里云企业邮箱
  19. Windows安装pytorch,傻瓜式教程
  20. kettle中报org.gjt.mm.mysql.Driver 解决办法

热门文章

  1. LINUX下载编译libvpx
  2. 有多么巨大的工作量,要交接一个月?
  3. 开会不要带没用的记事本、笔
  4. 在有的公司,高手遍地走,天才不如狗
  5. 表带可作为显示操作装置
  6. IP地址 网络地址 主机地址
  7. linux检查启动与否,关于linux启动的问题。
  8. matlab的lambda,matlab lambda 级数
  9. .java和.class的区别_Java中class与Class有什么区别
  10. python输出文本和值_Python有没有函数打印当前对象的所有属性和值?_others_酷徒编程知识库...