zoukankan      html  css  js  c++  java
  • 自己编写JavaScript的sort函数

      在平常开发中我们经常会遇到对数组进行排序的场景,js给我们提供了sort方法可以对数组元素进行排序,默认是按ASCII字母表顺序排序,请看下面例子:

    var a = [1, 3, 2, 4];
    var b = ['b', 'a', 'c', 'd']; a.sort();
    b.sort(); console.log(a);
    // [1, 2, 3, 4]
    console.log(b); // ['a', 'b', 'c', 'd']

      但有些时候我们需要自己定义排序要求,这时候我们就可以给sort函数传递一个函数,用来自定义排序规则,请看下面例子:

    var a = [1, 3, 2, 4];
    
    a.sort(function compare(a, b) {
       return b - a;
    });
    console.log(a);  // [4, 3, 2, 1]

      这是一个简单的自定义例子,把数组进行了降序排序,对于传给sort方法的函数function compare(a,b){...} ,遵循这样一个规则:若返回正数,则说明a和b需要交换,否则不交换。基于这个准则我们就可以根据自己需求来确定交不交换。请看下面代码:

    function compare(a, b) {
        if () {       //如果不想交换,则返回-1
            return -1;
        }
        return 1;  //返回1表示想交换
    }

      这样的话a和b交换还是不交换完全取决于你自己的逻辑。  你说了算嘻嘻!!

      如果有什么不正确的地方,还请各位大腿指正!!!!

  • 相关阅读:
    Jabref安装及使用教程
    均方误差与均方根误差
    费马大定理
    JabRef设置
    申请内存时底层发生了什么?
    什么是Pipeline?
    基于三维点云场景的语义及实例分割
    华为 MateView 系列显示器新品
    C#-WinForm跨线程修改UI界面
    C# 代码生成二维码方法及代码示例(QRCoder)
  • 原文地址:https://www.cnblogs.com/yonglin/p/6925252.html
Copyright © 2011-2022 走看看