模拟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 相关文章推荐
判断多个input type=file是否有已经选择好文件的代码
May 23 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
Jun 04 Javascript
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
require.js深入了解 require.js特性介绍
Sep 04 Javascript
基于javascript实现泡泡大冒险网页版小游戏
Mar 23 Javascript
input 禁止输入特殊字符的四种实现方式
Aug 24 Javascript
vue mint-ui学习笔记之picker的使用
Oct 11 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
Dec 21 Javascript
vue基础之v-bind属性、class和style用法分析
Mar 11 Javascript
js 计算图片内点个数的示例代码
Apr 04 Javascript
jquery登录的异步验证操作示例
May 09 jQuery
JavaScript实现移动端带transition动画的轮播效果
Mar 24 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
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
简单谈谈python中的多进程
2016/11/06 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
python使用mysql的两种使用方式
2018/03/07 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
狼和鹿教学反思
2014/02/05 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
自我查摆剖析材料
2014/10/11 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
分家协议书范本
2016/03/22 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
详解Js模块化的作用原理和方案
2021/04/29 Javascript