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交换还是不交换完全取决于你自己的逻辑。  你说了算嘻嘻!!

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

  • 相关阅读:
    智能家居测试思路
    Linux中,&和&&,|和||
    Eclipse设置保存代码时自动格式化代码
    Eclipse常用快捷键
    Eclipse设置快捷出现函数
    Eclipse设置代码背景色
    PDF转换成Word后乱码怎么办?
    Able2Extract快捷键汇总整理
    安装并激活Parallels Desktop商业版
    想在Mac上使用CAD?
  • 原文地址:https://www.cnblogs.com/yonglin/p/6925252.html
Copyright © 2011-2022 走看看