• 模拟javascript中的sort排序


    一、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 之前。
    1   //将数组中的元素按照从小大的顺序排列
    2  var arr=[11,55,22,45,16,87];
    3 
    4     arr.sort(function(a,b){
    5         return a-b;
    6     });
    7     console.log(arr);

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

     1 sortSelf(arr,function(a,b){
     2         return a-b;
     3     });
     4     console.log(arr);
     5 
     6  function sortSelf(array,fn){
     7         for (var i = 0; i < array.length-1; i++) {
     8             var isSorted=true;  //默认已经排好序
     9             for (var j = 0; j < array.length-1-i; j++) {
    10                 //调用函数
    11                 if(fn(array[j],array[j+1])>0){
    12                     //交换两个变量
    13                     var temp=array[j];
    14                     array[j]=array[j+1];
    15                     array[j+1]=temp;
    16                     isSorted=false;
    17                 }
    18             }
    19             if(isSorted){
    20                 break;
    21             }
    22         }
    23     }
  • 相关阅读:
    内存的分页管理方式解释
    分组统计SQL
    NUMA导致的Oracle性能问题
    SQL Server死锁的解决过程
    PHP创建对象的6种方式
    PHP编程20大效率要点
    php设置随机ip访问
    php使用QueryList轻松采集JavaScript动态渲染页面
    正确理解 PHP 的重载
    PHP 核心特性之匿名函数
  • 原文地址:https://www.cnblogs.com/lijinblogs/p/5582583.html
Copyright © 2020-2023  润新知