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 相关文章推荐
图解Sublime Text3使用技巧
Dec 21 Javascript
浅谈js中对象的使用
Aug 11 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
zTree获取当前节点的下一级子节点数实例
Sep 05 Javascript
vue-cli+webpack项目 修改项目名称的方法
Feb 28 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
浅谈vuex中store的命名空间
Nov 08 Javascript
小程序自动化测试的示例代码
Aug 11 Javascript
Javascript类型判断相关例题及解析
Aug 26 Javascript
JS实现4位随机验证码
Oct 19 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
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
推荐dojo学习笔记
2007/03/24 Javascript
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
javascript引导程序
2008/10/26 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
python实现的各种排序算法代码
2013/03/04 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
python通过zabbix api获取主机
2018/09/17 Python
Python中一般处理中文的几种方法
2019/03/06 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
python 制作本地应用搜索工具
2021/02/27 Python
大学生学年自我鉴定
2014/02/10 职场文书
安全生产实施方案
2014/02/23 职场文书
网络技术专业求职信
2014/05/02 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
家长通知书家长意见
2015/06/03 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫