• js数组 sort方法的分析


    原帖地址:http://blog.csdn.net/precipitant/article/details/1237739

    javascript 中 Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列,实例代码如下:

        var arrA = [6,2,4,3,5,1];
        arrA.sort();
        document.writeln(arrA);
    //结果是:1,2,3,4,5,6 

       sort() 方法可以接受一个 方法为参数 ,这个方法有两个参数。分别代表每次排序比较时的两个数组项。sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。

    实例如下:

        var arrA = [6,2,4,3,5,1];
        
    /*arrA.sort();
        document.writeln(arrA);
        
    */

        
    function desc(x,y)
        
    {
            
    if (x > y)  
                
    return -1;
            
    if (x < y)          
                
    return 1;
        }

        
    function asc(x,y)
        
    {
            
    if (x > y)  
                
    return 1;
            
    if (x < y)          
                
    return -1;
        }


        arrA.sort(desc);    
    // sort by desc
        document.writeln(arrA);
        document.writeln(
    "<br>");
        arrA.sort(asc);    
    //sort by asc
        document.writeln(arrA);

    //输出结果:
    6,5,4,3,2,1 
    1,2,3,4,5,6 

    另外,可以直接把一个无名函数直接放到sort()方法的调用中。如下的例子是将奇数排在前面,偶数排在后面,例子如下:

            var arrA = [6,2,4,3,5,1];
            arrA.sort( 
    function(x, y) {
                
    if (x % 2 ==0)  
                    
    return 11;
                
    if (x % 2 !=0)        
                    
    return -1;
                }

            );
           document.writeln(arrA);

    //输出:1,5,3,4,6,2 
  • 相关阅读:
    Hosts知多少?
    Google 谷歌网页搜索, 学术搜索
    机器学习是什么?
    SCI/EI期刊投稿 Reply Letter 常用格式总结
    解决Javascript中$(window).resize()多次执行
    Jquery使容器自适应浏览器窗口
    java中GET方式提交和POST方式提交
    java调试打断点和不打断点执行结果不一致问题解决
    EasyUI combobox的panelHeight自动高度
    跨服务器查询信息的sql
  • 原文地址:https://www.cnblogs.com/0banana0/p/2233410.html
Copyright © 2020-2023  润新知