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 相关文章推荐
学习jquery之一
Apr 27 Javascript
javascript下判断一个元素是否存在的代码
Mar 05 Javascript
基于jquery的给文章加入关键字链接
Oct 26 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
Mar 13 Javascript
JavaScript设计模式之外观模式介绍
Dec 28 Javascript
jQuery中:enabled选择器用法实例
Jan 04 Javascript
jquery 插件实现瀑布流图片展示实例
Apr 03 Javascript
轻松搞定jQuery.noConflict()
Feb 15 Javascript
拥Bootstrap入怀——导航栏篇
May 30 Javascript
JS中的多态实例详解
Oct 15 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
Moment.js实现多个同时倒计时
Aug 26 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在服务器执行exec命令失败的解决方法
2012/03/03 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
javascript hashtable实现代码
2009/10/13 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
python实现排序算法
2014/02/14 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
浅谈Python中的继承
2020/06/19 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
C#面试常见问题
2013/02/25 面试题
网络工程专业毕业生推荐信
2013/10/28 职场文书
工程专业应届生求职信
2014/02/19 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
软件售后服务承诺书
2014/05/21 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
2019销售早会主持词
2019/06/27 职场文书
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript