模拟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实现省市联动效果的简单实例
Feb 10 Javascript
node.js中的fs.writeSync方法使用说明
Dec 15 Javascript
asp.net+js实现金额格式化
Feb 27 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
js图片上传的封装代码
Aug 01 Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 Javascript
JS数组属性去重并校验重复数据
Jan 10 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
关于element-ui表单中限制输入纯数字的解决方式
Sep 08 Javascript
微信小程序input抖动问题的修复方法
Mar 03 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字符串按照单词进行反转的方法
2015/03/14 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
js分页代码分享
2014/04/28 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
Python脚本实现下载合并SAE日志
2015/02/10 Python
Python实现数据库编程方法详解
2015/06/09 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
python如何生成网页验证码
2018/07/28 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
python基础教程之while循环
2019/08/14 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python