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 相关文章推荐
javascript+dom树型菜单类,希望朋友们一起进步
May 03 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
Jan 20 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
jQuery为某个div加入行样式
Jun 09 jQuery
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
JavaScript变速动画函数封装添加任意多个属性
Apr 03 Javascript
JS实现选项卡效果的代码实例
May 20 Javascript
Vue.js实现大转盘抽奖总结及实现思路
Oct 09 Javascript
使用JavaScript通过前端发送电子邮件
May 22 Javascript
node.js基础知识汇总
Aug 25 Javascript
vue3.0 自适应不同分辨率电脑的操作
Feb 06 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
Python程序设计入门(1)基本语法简介
2014/06/13 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
Python 内置函数complex详解
2016/10/23 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python对象属性自动更新操作示例
2018/06/15 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
python 获取计算机的网卡信息
2021/02/18 Python
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
打架检讨书500字
2014/01/29 职场文书
校园广播稿500字
2014/02/04 职场文书
超市工作总结范文2014
2014/12/19 职场文书
护理专业自我评价
2015/03/11 职场文书
学生犯错保证书
2015/05/09 职场文书