自己定义的方法出了什么问题

来源:7-22 数组排序sort()

技术爱好者

2016-01-17 15:39

<script type="text/javascript">
   function sortNum(a,b) {
       var aa = a.parseInt();
       var bb = b.parseInt();
       if(aa>bb){
           return -2;
       }
       else if(aa<bb){
           return 2;
       }else{
           return 0;
       }
   }
    var myarr = new Array("80","16","50","6","100","1");
    document.write(myarr+  "<br/>"  );
    document.write(myarr.sort(sortNum));

结果是第二行完全不显示。

还有一点就是,javascript是弱类型的语言,那么返回-1的这个-1是什么类型的呢?是字符还是数值,是int还是float。有点迷惑啊

写回答 关注

3回答

  • freekv
    2016-01-17 19:22:56
    已采纳

    恩,有几点可以修改下

    1、第二句这样写:var aa = parseInt(a);

    2、第三句这样写 ; var bb =parseInt(b);

    3、末尾,少了</script>

    4、function方法呢,这样写就可以了

    一、想从大到小排列,这样写

    function sortNum(a,b)

    {

        return a - b;

    }

    二、想从小到大排列,这样写

    function sortNum(a,b)

    {

        return b -a;

    }


    技术爱好者

    原来是我记错了方法的调用。谢谢您。

    2016-01-17 21:49:42

    共 1 条回复 >

  • xiamion
    2016-01-17 20:45:57

    parseInt() 括号里边要有值 字符型

  • Dusdii
    2016-01-17 19:21:55

    parseInt(a,b)

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题