回 帖 发 新 帖 刷新版面

主题:sort的问题

function mySortfunc(str1,str2){       
                   return eval(str1)-eval(str2);                           
        }                                                                                  
        var digital=new Array("2","11","1","25","12","90");
        digital.sort();
        document.write("调用Sort方法后数组的值(默认):" digital+"<BR>");
        digital.sort(mySortfunc);
        document.write("调用Sort方法后数组的值(指定排序):" +digital+"<BR>");


显示结果如下:
调用Sort方法后数组的值(默认): 1,11,12,2,25,90
调用Sort方法后数组的值(指定排序):1,2,11,12,25,90

虚心请教:
1.digital.sort(mySortfunc)这条语句是如何执行的,mySortfunc不是还有两个参数要传递吗?
2.为什么返回的结果是1,2,11,12,25,90

回复列表 (共3个回复)

沙发

1.sort带参数代表比较方法
2.eval算出值,比较

板凳

可不可以说详细点,我知道带参数代表比较方法,问题是那个函数不是还有两个参数要传入吗?

3 楼

是不是太菜了,没人愿意回

我来回复

您尚未登录,请登录后再回复。点此登录或注册