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 倒计时效果实现秒杀思路
Sep 11 Javascript
jQuery实现的登录浮动框效果代码
Sep 26 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
JavaScript6 let 新语法优势介绍
Jul 15 Javascript
数据结构中的各种排序方法小结(JS实现)
Jul 23 Javascript
基于JavaScript实现滑动门效果
Mar 16 Javascript
在 Node.js 中使用原生 ES 模块方法解析
Sep 19 Javascript
Angular2+如何去除url中的#号详解
Dec 20 Javascript
vue中配置scss全局变量的步骤
Dec 28 Vue.js
一百多行代码实现react拖拽hooks
Mar 23 Javascript
JavaScript文档对象模型DOM
Nov 20 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桌面中心(二) 数据库写入
2007/03/11 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
深入php 正则表达式的学习探讨
2013/06/06 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Python MD5加密实例详解
2017/08/02 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
python制作简单五子棋游戏
2019/06/18 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
荷兰家电销售网站:Welhof
2020/12/08 全球购物
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
中英文自我评价常用句型
2013/12/19 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
初中军训感想
2015/08/07 职场文书
安全责任协议书范本
2016/03/23 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL
MySQL中varchar和char类型的区别
2021/11/17 MySQL