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 相关文章推荐
为数据添加append,remove功能
Oct 03 Javascript
FF IE兼容性的修改小结
Sep 02 Javascript
jQuery中ready事件用法实例
Jan 19 Javascript
JavaScript知识点总结之如何提高性能
Jan 15 Javascript
基于BootStrap的图片轮播效果展示实例代码
May 23 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
jQuery select自动选中功能实现方法分析
Nov 28 Javascript
jquery仿京东侧边栏导航效果
Mar 02 Javascript
js数据类型检测总结
Aug 05 Javascript
使用webpack打包后的vue项目如何正确运行(express)
Oct 26 Javascript
vue实现简易音乐播放器
Aug 14 Vue.js
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 date函数参数详解
2006/11/27 PHP
PHP Socket 编程
2010/04/09 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Python中new方法的详解
2019/01/15 Python
Python PIL图片添加字体的例子
2019/08/22 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
高中生学习的自我评价
2013/12/14 职场文书
行政副总岗位职责
2014/02/23 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server