zoukankan      html  css  js  c++  java
  • javaScript中自定义sort中的比较函数,用于比较字符串长度,数值大小

     
    var arr = ['aa', 23, 1.2, 'bb', 'cc'];
    var len = arr.length;
    // for (var i = 0; i < len; i++) {
    // alert(arr + " 数组的长度是: " + arr.length + "这一次队首的元素是:" + arr.shift());
    // }
    // alert("重排数组后: " + arr.reverse());
    // alert("数组排序后: " + arr.sort());
    var arr = [1, 4, 6, 9, 10, 21];

    //初级版本的比较数值大小
    function compareBig(num1, num2) {
    if (num1 < num2) {
    return -1;
    } else if (num1 == num2) {
    return 0;
    } else {
    return 1;
    }
    }

    //当被比较的两个数,可以被转换为数值时,可以简化gai方法
    function compareBigger(num1, num2) {
    return num1 - num2;
    }

    var strArr = ['a', 'aaaaa', 'aa', '124', '0sjssd'];

    function compareLen(str1, str2) {
    if (str1.length < str2.length) {
    return -1;
    } else if (str1.length < str2.length) {
    return 0;
    } else {
    return 1;
    }
     
     
    //比较数组元素为对象时,我们怎么处理呢?
     
    }
    alert(arr + "排序后的数组是: " + arr.sort(compareBig));
    alert(strArr + "排序后的数组是: " + strArr.sort(compareLen));
     
     
    //函数嵌套,上面两种函数,自己好好体会
    function
    creatCompareFunction(propertyName) { return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (value1 < value2) { return -1; } else if (value1 > value2) { return 1; } else { return 0; } } } var data = [{ name: 'dd', age: 2 }, { name: 'bb', age: 31 }, { name: 'cc', age: 1 } ]; data.sort(creatCompareFunction('name')); alert(data[0].name);
  • 相关阅读:
    springmvc
    POJ 3683 Priest John's Busiest Day
    POJ 3678 Katu Puzzle
    HDU 1815 Building roads
    CDOJ UESTC 1220 The Battle of Guandu
    HDU 3715 Go Deeper
    HDU 3622 Bomb Game
    POJ 3207 Ikki's Story IV
    POJ 3648 Wedding
    HDU 1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/fuck1/p/7259662.html
Copyright © 2011-2022 走看看