JS数组排序方法实例分析


Posted in Javascript onDecember 16, 2016

本文实例讲述了JS数组排序方法。分享给大家供大家参考,具体如下:

方法一.冒泡排序

思路:依次比较数组中的第一个元素和第二个元素,如果第一个元素大于第二个元素,则交换位置,所以需要两个函数:交换位置函数和比较函数

比较轮数为数组长度

var arr=[2,58,49,26,34];
function change(f,s){
  var temp=arr[f];
  arr[f]=arr[s];
  arr[s]=temp;
}
for(var i=0;i<arr.length;i++){
  for(var j=0;j<arr.length-1;j++){
    if(arr[j]>arr[j+1]){
      change(j,+j+1);
    }
  }
}
alert(arr);

方法二.选择排序

从数组中找到最小值,扔到数组第一位,然后从剩下数组中循环操作

var arr=[2,58,49,26,34];
function change(){
  if(arr.length==1){
    return arr;
  }
  var iMin=arr[0];
  var index=0;
  for(var i=0;i<arr.length;i++){
    if(arr[i]<iMin){
      iMin=arr[i];
      index=i;
    }
  }
  var prev=arr.splice(index,1);
  return prev.concat(change(arr));
}
alert(change(arr));

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
利用javascript查看html源文件
Nov 08 Javascript
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
通过正则格式化url查询字符串实现代码
Dec 28 Javascript
js数组Array sort方法使用深入分析
Feb 21 Javascript
使用javascipt---实现二分查找法
Apr 10 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
Oct 17 Javascript
PHP中使用微秒计算脚本执行时间例子
Nov 19 Javascript
AngularJS路由切换实现方法分析
Mar 17 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
使用p5.js实现动态GIF图片临摹重现
Oct 23 Javascript
jquery UI Datepicker时间控件冲突问题解决
Dec 16 #Javascript
详解jQuery简单的表单应用
Dec 16 #Javascript
浅谈JavaScript的自动垃圾收集机制
Dec 15 #Javascript
简单三步实现报表页面集成天气
Dec 15 #Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 #Javascript
JavaScript中定义对象原型的两种使用方法
Dec 15 #Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
Dec 15 #Javascript
You might like
虫族 Zerg 热键控制
2020/03/14 星际争霸
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
JavaScript原生数组Array常用方法
2017/04/06 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
Django实现celery定时任务过程解析
2020/04/21 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
思想汇报范文
2013/11/04 职场文书
《值日生》教学反思
2014/02/17 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL