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 相关文章推荐
统一接口:为FireFox添加IE的方法和属性的js代码
Mar 25 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 Javascript
使用 stylelint检查CSS_StyleLint
Apr 28 Javascript
JavaScript中闭包的写法和作用详解
Jun 29 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
Oct 14 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
js正则取值的结果数组调试方法
Oct 10 Javascript
jquery实现直播视频弹幕效果
Feb 25 jQuery
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
3
2006/10/09 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
jquery的键盘事件修改代码
2011/02/24 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
python模块之StringIO使用示例
2015/04/08 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python3实现windows下同名进程监控
2018/06/21 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
Python 实现向word(docx)中输出
2020/02/13 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
Spy++的使用方法及下载教程
2021/01/29 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
护士实习鉴定范文
2013/12/22 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
教师自我鉴定范文
2014/03/20 职场文书
消防安全宣传标语
2014/06/07 职场文书
作文之亲情600字
2019/09/23 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
Go语言入门exec的基本使用
2022/05/20 Golang