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 textarea自动增高并隐藏滚动条
Dec 16 Javascript
Javascript 面向对象 命名空间
May 13 Javascript
JqGrid web打印实现代码
May 31 Javascript
js生成随机数之random函数随机示例
Dec 20 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
Aug 08 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
Nov 03 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
Sep 10 Javascript
微信小程序实现banner图轮播效果
Jun 28 Javascript
JavaScript自定义超时API代码实例
Apr 30 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
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
Python I/O与进程的详细讲解
2019/03/08 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
python中Django文件上传方法详解
2020/08/05 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
PHP如何去执行一个SQL语句
2016/03/05 面试题
会计专业毕业生自荐信范文
2013/12/20 职场文书
爱护公物演讲稿
2014/09/09 职场文书
工作时间证明
2015/06/15 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
vue使用watch监听属性变化
2022/04/30 Vue.js