模拟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 相关文章推荐
你可能不再需要JQUERY
Mar 09 Javascript
jscript之List Excel Color Values
Jun 13 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
js处理php输出时间戳对不上号的解决方法
Jun 20 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
Oct 14 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
js+css实现超简洁的二级下拉菜单效果代码
Sep 07 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
JS使用setInterval实现的简单计时器功能示例
Apr 19 Javascript
JavaScript引用类型Date常见用法实例分析
Aug 08 Javascript
重置Redux的状态数据的方法实现
Nov 18 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
深入分析PHP引用(&amp;)
2014/09/04 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
Web开发之JavaScript
2012/03/29 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
JS实现导航栏楼层特效
2020/01/01 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
Python3常用内置方法代码实例
2019/11/18 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
容易被忽略的Python内置类型
2020/09/03 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
毕业生自荐信格式
2014/03/07 职场文书
丧事主持词大全
2014/04/02 职场文书
敬老院活动感想
2015/08/07 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python