javascript当中排序比较器用法

例 1.5(排序比较器)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    for teach.
    <script type="text/javascript">
        function sortNumberqixy(a, b)
        {
            /*  马克-to-win
            returned value type: Array object
            JavaScript syntax: - myArray.sort()
            - myArray.sort(aComparator)
            Argument list: aComparator A function object that will compare two items and returns a flag indicating their order in the sort collating sequence.
            Sort the elements in an array.
            You must make sure the comparator returns one of the following three values:
            Negative integer(qixy: not a boolean.) - signifies that the first argument is less than the second.(qixy the whole final result is that small number is in front.)
            Zero - Signifies that both arguments are the same.
            Positive integer - Signifies that the first argument is larger than the second.
            qixy: int=parseInt(String)
            */
            if (parseInt(a) < parseInt(b)) return -5;
            if (parseInt(a) > parseInt(b)) return 4;
            else return 0;
            /* the following is a simple method */
            //return a - b
        }
        var arr = new Array(3)
        arr[0] = "9"
        arr[1] = "6"
        arr[2] = "6"
        arr[3] = "26"
        arr[4] = "10001"
        arr[5] = "2"
        document.write(arr + "<br />");
        /* note that if we don't give the comparator, sort will use the default way to sort. then it will sort according to String,then its order is 10001,2,26,6,6,9 */
        document.write("排序之后:" + arr.sort());
        document.write("排序之后:" + arr.sort(sortNumberqixy));
    </script>
</head>
<body>

</body>
</html>

 

更多内容请见原文,文章转载自:https://blog.csdn.net/qq_43650923/article/details/102138369

posted @ 2021-11-10 18:40  malala  阅读(47)  评论(0)    收藏  举报