描述 错误

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

慕沐2107578

2022-07-29 17:42

“若返回值<=-1,则表示 a="" b="">-1 &&<1,则表示 a="" b="">=1,则表示 A 在排序后的序列中出现在 B 之后” 这种说法不对吧,不应该是>0和<0区别?

写回答 关注

1回答

  • qq_爱偷猫的鱼_0
    2022-09-29 17:52:33

    F12打开控制台直接输入以下代码

    //当排序的元素都为数字时可以用0 作为分界线
    var arr1 = [1,1.9,1.2];
    arr1.sort();  //默认升序 [1, 1.2, 1.9]
    
    function sortNum1(n1,n2){return  n1-n2}
    function sortNum2(n1,n2){return  n2-n1}
    arr1.sort(sortNum1); //[1, 1.2, 1.9]
    arr1.sort(sortNum2); //[1.9, 1.2, 1]
    
    //当排序的元素涉及到特殊字符时,0就不够用了
    var arr2 = [1,'3','a',2,'b','&'];
    arr2.sort(); //默认['&', 1, 2, '3', 'a', 'b']
    function sortUnicode(code1,code2){debugger; return  code1-code2}
    arr2.sort(sortUnicode);//['&', 1, 2, '3', 'a', 'b']
    //1 - '&'    NaN   '&',1 
    //2 - 1      1     1,2
    //'3' - 2    1     2,'3'
    //'a' - '3'  NaN   '3','a'
    //'b' - 'a'  NaN   'a','b'
    
    //function sortUnicode(code1,code2){debugger; return  code2-code1}
    //['3', 2, 1, 'a', 'b', '&']


JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题