问答详情
源自:3-8 编程练习

3-8的第一位同学的代码,看不懂?


    //按照字符数排序

    arr.sort(function(a, b){

        if(a.length > b.length){

            return 1

        }else if(a.length < b.length){

            return -1

        }else{

            return 0

        }

    })

    

这段排序代码怎么解释啊,为什么sort()里面写function

提问者:qq_风草_0 2016-08-02 12:54

个回答

  • 严伟安
    2016-08-02 15:41:23

    他把函数直接定义在sort()所需参数中了,因为sort泵就需要一个参数来确定如何排序的

    相当于:

      //按照字符数排序

    function s(a,b){

     if(a.length > b.length){

                return 1

            }else if(a.length < b.length){

                return -1

            }else{

                return 0

            }

    }

        arr.sort(s(a, b));


  • 慕虎1807742
    2016-08-02 14:41:49

    <script type="text/javascript">
     function sortNum(a,b) {
     return a - b;
    //升序,如降序,把“a - b”该成“b - a”
    }
    var myarr = new Array("80","16","50","6","100","1");
     document.write(myarr + "<br>");
     document.write(myarr.sort(sortNum));
    </script>

    给sort加函数规定它的排序。。大概就是这样,第一次回答,不知道能不能帮到你

  • guyu1003
    2016-08-02 14:09:37

    sort()里面写function是因为sort方法中有一个排序规则,规定了排序的方式。不加这个函数,默认的sort()方法会按unicode码顺序排列。这里的function规定了按字符的长度进行排序的规则。

  • 夜,静静的思考
    2016-08-02 14:07:22

    function定义函数的关键字