• sort()方法


    sort() 方法用于对数组的元素进行排序。

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

    如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

    • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    • 若 a 等于 b,则返回 0。
    • 若 a 大于 b,则返回一个大于 0 的值。

    所以如果一个数组,元素是几个数字 [50,11,16,32,24,99,57,100], 此时直接sort()排序,返回的是[100, 11, 16, 24, 32, 50, 57, 99].

    那么,如何把数字按从小到大排序呢:

    (function(){
        function sortNum() {
            var tags = new Array();//使用数组作为参数存储容器
            for (var i = 0; i < arguments.length; i++) {
                tags.push(arguments[i]);
            }
            tags.sort(function(a, b){
                return a - b;
            });
            return tags;//返回已经排序的数组
        }
     
        var result = sortNum(50,11,16,32,24,99,57,100);//传入参数个数不确定
        console.info(result);//显示结果
    }());

    这里有个题外话:养成一个变成的好习惯,避免全局变量:将函数用(function(){}())包裹起来:

    (function(window){
        //...您的代码
    }(window));

    加一个window参数,是因为 ES 执行JS代码是从里到外,因此把全局变量window对象传进来,就避免了到外层去寻找,提高效率。

  • 相关阅读:
    命令模式
    js代理模式,处理缓存
    js设计模式之策略模式
    查看并修改签名证书keystore的密码,alias别名等相关参数
    【fiddler】配置代理后个别app连不上网的问题
    使用Fiddler域名过滤、断点、小技巧绕过前端验证
    App上架各大应用市场的地址及操作方法
    获取APK获取APK证书MD5、SHA1、SHA256等秘钥
    Python一切皆对象
    WEB基础之布局与定位
  • 原文地址:https://www.cnblogs.com/dodocie/p/6692305.html
Copyright © 2020-2023  润新知