JS常用排序方法实例代码解析


Posted in Javascript onMarch 03, 2020

有些代码一两个月都会忘了,有空多做下总结,记录下来,等需要用到的时候可以来翻翻总结的博客。写技术博客,对自己是一种总结,对别人,是一种参考。

1.sort()方法

var ar1=[2,4,6,8,1,3]
var ar2=[2,16,36,8,56]
ar1.sort()
ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序
console.log(ar1)//[1,2,3,4,6,8]
console.log(ar2)//[16, 2, 36, 56, 8]

ar2.sort(function(a,b){
  return a-b //a-b为升序
  //return b-a //b-a为降序
})
console.log(ar2)//[2, 8, 16, 36, 56]

2.reverse()方法

var ar1=[2,4,6,8,1,3]
ar1.reverse()//此方法为倒序,也就是反过来。并不会进行大小排序
console.log(ar1)//[3, 1, 8, 6, 4, 2]

3.冒泡排序

//每轮依次比较相邻两个数的大小,后面比前面小则交换
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i<a.length;i++){
  for(var j=0;j<a.length;j++){
    if(a[j]>a[j+1]){
      b=a[j]
      a[j]=a[j+1]
      a[j+1]=b
    }
  }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

4.选择排序

//拿第一个数与后面数相比较,如果比后面的数大则交换
//拿第二个数与后面的数比较,如果比后面的数大则交换
//直到比较到倒数第二个数,最后一个数不用比较
var b=0//设置用来调换位置的值
var a=[1,9,33,2,5,34,23,98,14]//冒泡排序
for(var i=0;i<a.length;i++){
  for(var j=i;j<a.length;j++){
    if(a[j]>a[j+1]){
      b=a[j]
      a[j]=a[j+1]
      a[j+1]=b
    }
  }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

5.快速排序

先从数列中取出一个数作为基准数

分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边

再对左右区间重复第二步,直到各区间只有一个数

function quickSort(arr, i, j) {
 if(i < j) {
  let left = i;
  let right = j;
  let mid = Math.floor((left+right)/2);
  let temp = arr[left];
  arr[left] = arr[mid];
  arr[mid] = temp;
  let pivot = arr[left];
  while(i < j) {
   while(arr[j] >= pivot && i < j) { // 从后往前找比基准小的数
    j--;
   }
   if(i < j) {
    arr[i++] = arr[j];
   }
   while(arr[i] <= pivot && i < j) { // 从前往后找比基准大的数
    i++;
   }
   if(i < j) {
    arr[j--] = arr[i];
   }
  }
  arr[i] = pivot;
  quickSort(arr, left, i-1);
  quickSort(arr, i+1, right);
  return arr;
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
jQuery scroll事件实现监控滚动条分页示例
Apr 04 Javascript
JavaScript正则表达式之multiline属性的应用
Jun 16 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
JS中使用FormData上传文件、图片的方法
Aug 07 Javascript
JS填写银行卡号每隔4位数字加一个空格
Dec 19 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 Javascript
react写一个select组件的实现代码
Apr 03 Javascript
Vue 进阶之路(三)
Apr 18 Javascript
JS 数组基本用法入门示例解析
Jan 16 Javascript
Vue数组响应式操作及高阶函数使用代码详解
Aug 01 Javascript
JavaScript 对象创建的3种方法
Nov 17 Javascript
JS面向对象编程实现的Tab选项卡案例详解
Mar 03 #Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 #Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 #Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 #Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
Mar 03 #Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
Mar 03 #Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
Mar 03 #Javascript
You might like
mac下多个php版本快速切换的方法
2016/10/09 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
python列表与元组详解实例
2013/11/01 Python
Python实现截屏的函数
2015/07/25 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
python实现ID3决策树算法
2017/12/20 Python
Python异常处理知识点总结
2019/02/18 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
python中如何打包用户自定义模块
2020/09/23 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
优秀大学生推荐信范文
2013/11/28 职场文书
校园门卫岗位职责
2013/12/09 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers