为了账号安全,请及时绑定邮箱和手机立即绑定

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

<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 回答

恩,有几点可以修改下

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;

}


0 回复 有任何疑惑可以回复我~
#1

技术爱好者 提问者

原来是我记错了方法的调用。谢谢您。
2016-01-17 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

parseInt(a,b)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信