全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js排序与重组的实例讲解

前几天同学发给我一个问题,思路想整理一下,也供大家参考。实际上这道题本质就是考察的是去重与排序的问题。好了闲话少说,上题。

function input(req){
if(req<=100){
var arr=[],arr1=[];
for(var i=0;i<req;i++){
var num=parseInt(Math.random()*(1000-1)+1);
arr.push(num);
if(arr1.indexOf(arr[i])==-1)
arr1.push(arr[i]);

}
for(var n=0;n<arr1.length-1;n++){
for(var m=n+1;m<arr1.length;m++){
if(arr1[n]>arr1[m]){
var temp=arr1[n];
arr1[n]=arr1[m];
arr1[m]=temp;
}
}
}

console.log(arr.length);
console.log(arr.join(' ')); 

console.log(arr1.length);
console.log(arr1.join(' ')); 
}else{
alert("不好意思,你输入的数已经大于100了");
} 
}

解析:关于排序的,有冒泡排序,快速排序,插入排序,希尔排序,选择排序,归并排序,堆排序,基数排序,计数排序,桶排序等等。

关于数组去重的实现方法,常用的有遍历数组,对象键值对,数组下标判断,排序后相邻去除法,优化遍历数组等等。

本题排序方法采用一种最基本的方法就是冒泡方法,冒泡方法实质就是相邻排序了,依次比较相邻的两个值,如果我比你小,我就在你前面,反之就在你后面,按照这种方法多次,直到顺序正确。

去重的方法也是采用最基本的遍历数组法,思路是新建立一个数组,值不在数组中,就填入数组,简单粗暴。哈哈。采用了js中的indexof()方法,indexof()方法原意指的是可返回某个指定的字符串在字符中首次出现的位置。但是它也有这样的一个性质,注意:如果要检索的字符串没有出现,则返回-1,这正是我们需要的。

看题干:N个1到1000之间的随机整数(N小于等于100)

整数:嗯嗯此时应该想到这个parseInt()方法;

随机:想到了Math.random();

1到1000的随机整数: var num=parseInt(Math.random()*(1000-1)+1);这种组合的方法蛮有效果的。

填入数组:arr.push()方法;接下来判断原数组的数是否在新数组arr1中,if(arr1.indexOf(arr[i])==-1) arr1.push(arr[i]);

填入数组的事已经完成了,接下来就是排序的问题了。冒泡(简单粗暴)。生成随机数组的个数,就用数组的长度喽,arr.length.

还有提到的是用空格隔开:join(' ');

在chrome,f12下跑的结果如下:

去重和排序后的结果

以上这篇js排序与重组的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# js  # 排序  # js实现常用排序算法  # js函数排序的实例代码  # js的各种排序算法实现(总结)  # js快速排序的实现代码  # js常用排序实现代码  # 遍历  # 的是  # 填入  # 就在  # 给大家  # 希尔  # 也有  # 好了  # 首次  # 希望能  # 采用了  # 这篇  # 就用  # 前几天  # 比你  # 建立一个  # 指的是  # 这道  # 小编  # 少说 


相关文章: 学校建站服务器如何选型才能满足性能需求?  非常酷的网站设计制作软件,酷培ai教育官方网站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  如何用西部建站助手快速创建专业网站?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  如何将凡科建站内容保存为本地文件?  建站主机功能解析:服务器选择与快速搭建指南  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  大连网站设计制作招聘信息,大连投诉网站有哪些?  网站代码制作软件有哪些,如何生成自己网站的代码?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何在阿里云虚拟主机上快速搭建个人网站?  Swift开发中switch语句值绑定模式  建站之星安装失败:服务器环境不兼容?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何规划企业建站流程的关键步骤?  如何在新浪SAE免费搭建个人博客?  高防服务器如何保障网站安全无虞?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  建站ABC备案流程中有哪些关键注意事项?  招商网站制作流程,网站招商广告语?  微信推文制作网站有哪些,怎么做微信推文,急?  制作网站的模板软件,网站怎么建设?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  大同网页,大同瑞慈医院官网?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  建站主机与服务器功能差异如何区分?  h5在线制作网站电脑版下载,h5网页制作软件?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何在Windows服务器上快速搭建网站?  宁波免费建站如何选择可靠模板与平台?  宝塔新建站点为何无法访问?如何排查?  高端企业智能建站程序:SEO优化与响应式模板定制开发  建站之星安装提示数据库无法连接如何解决?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何通过虚拟机搭建网站?详细步骤解析  学校为何禁止电信移动建设网站?  如何快速重置建站主机并恢复默认配置?  浅谈Javascript中的Label语句  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  建站VPS配置与SEO优化指南:关键词排名提升策略  定制建站哪家更专业可靠?推荐榜单揭晓  如何通过云梦建站系统实现SEO快速优化?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何快速选择适合个人网站的云服务器配置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。