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 相关文章推荐
控制打印时页眉角的代码
Feb 08 Javascript
JS 操作Array数组的方法及属性实例解析
Jan 08 Javascript
JQuery EasyUI 数字格式化处理示例
May 05 Javascript
jQuery自定义添加&quot;$&quot;与解决&quot;$&quot;冲突的方法
Jan 19 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
JavaScript手风琴页面制作
May 17 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
微信小程序实现聊天对话(文本、图片)功能
Jul 06 Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
vue更改数组中的值实例代码详解
Feb 07 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 中执行系统外部命令
2006/10/09 PHP
php date()日期时间函数详解
2010/05/16 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
js根据需要计算数组中重复出现某个元素的个数
2019/01/18 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
Python Socket编程入门教程
2014/07/11 Python
python django集成cas验证系统
2014/07/14 Python
python实现树形打印目录结构
2018/03/29 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
浅析Python迭代器的高级用法
2020/07/16 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
质量工程师岗位职责
2013/11/16 职场文书
机电一体化职业规划书
2014/01/07 职场文书
面试后的英文感谢信
2014/02/01 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python