模拟javascript中的sort排序(简单实例)


Posted in Javascript onAugust 17, 2016

一、javascript中sort对数据进行排序的原理

sort() 方法对数组的元素做原地的排序,并返回这个数组。 sort 可能不是稳定的。默认按照字符串的Unicode码位点排序;

语法:arr.sort([compareFunction])

参数 compareFunction

可选。用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序。

如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;

如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变。备注: ECMAScript 标准并不保证这一行为,而且也不是所有浏览器都会遵守

如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前。

//将数组中的元素按照从小大的顺序排列
 var arr=[11,55,22,45,16,87];

  arr.sort(function(a,b){
    return a-b;
  });
  console.log(arr);

二、模拟javascript内部对数据进行排序的原理

sortSelf(arr,function(a,b){
    return a-b;
  });
  console.log(arr);

 function sortSelf(array,fn){
    for (var i = 0; i < array.length-1; i++) {
      var isSorted=true; //默认已经排好序
      for (var j = 0; j < array.length-1-i; j++) {
        //调用函数
        if(fn(array[j],array[j+1])>0){
          //交换两个变量
          var temp=array[j];
          array[j]=array[j+1];
          array[j+1]=temp;
          isSorted=false;
        }
      }
      if(isSorted){
        break;
      }
    }
  }

以上这篇模拟javascript中的sort排序(简单实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js+css实现增加表单可用性之提示文字
Jun 03 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
Jan 29 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
利用Node.js+Koa框架实现前后端交互的方法
Feb 27 Javascript
JavaScript 中 apply 、call 的详解
Mar 21 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
Sep 25 Javascript
vue随机验证码组件的封装实现
Feb 19 Javascript
JS原型prototype和__proto__用法实例分析
Mar 14 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
Apr 26 Javascript
Javascript中的奇葩知识,你知道吗?
Jan 25 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 #Javascript
BOM系列第一篇之定时器setTimeout和setInterval
Aug 17 #Javascript
BOM系列第二篇之定时器requestAnimationFrame
Aug 17 #Javascript
AngularJS 视图详解及示例代码
Aug 17 #Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
Aug 17 #Javascript
AngularJS Ajax详解及示例代码
Aug 17 #Javascript
AngularJS包括详解及示例代码
Aug 17 #Javascript
You might like
PHP 全角转半角实现代码
2010/05/16 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
解释&amp;&amp;和||在javascript中的另类用法
2014/07/28 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
TensorFlow变量管理详解
2018/03/10 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
专业技术职务聘任书
2014/03/29 职场文书
委托书怎样写
2014/08/30 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
2015年超市工作总结
2015/04/09 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript