jQuery对象数组排序

              知识点:

假设以对象数组形式来保存学生信息。每个学生包括3个属性:sid,sname,sage。请基于sid为该数组排序。

说明:

sort()方法:需要添加比较函数,反复从数组中获取一对值,在比较的基础上返回<0=0>0的值。

其实和排序字符串、数值没什么区别,比较对象是按照对象中的某个属性比较,所以,我们只要取出对象中的某个属性比较即可。

Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>jQuery数组和字符串--对象数组排序</title>

    <script type="text/javascript" src="rs/js/jquery.js"></script>

    <script type="text/javascript">

    <!--

    $(

        function()

        {

            var students =[

                {'sid':'ST001','sname':'张三','sage':18},

                {'sid':'ST004','sname':'赵六','sage':23},

                {'sid':'ST002','sname':'李四','sage':42},

                {'sid':'ST003','sname':'王五','sage':35}

            ];

            //表格显示

            $.each(students,

                function(index, value)

                {

                    $('#ia').append('<tr><td>' + value.sid +

                        '</td><td>' + value.sname +

                        '</td><td>' + value.sage + '</td></tr>');

                }

            );

            //按照SID排序

            var sidOrder = students.sort(

                function(a, b)

                {

                    if(a.sid < b.sid) return -1;

                    if(a.sid > b.sid) return 1;

                    return 0;

                }

            );

            $.each(sidOrder,

                function(index, value)

                {

                    $('#ib').append('<tr><td>' + value.sid +

                        '</td><td>' + value.sname +

                        '</td><td>' + value.sage + '</td></tr>')

                }

            );

            //按照SAGE排序

            var sageOrder = students.sort(

                function(a, b)

                {

                    return (a.sage - b.sage);

                }

            );

            $.each(sageOrder,

                function(index, value)

                {

                    $('#ic').append('<tr><td>' + value.sid +

                        '</td><td>' + value.sname +

                        '</td><td>' + value.sage + '</td></tr>')

                }

            );

        }

    );

    //-->

    </script>

  </head>

  <body>

    <h5>未排序对象数组:</h5>

    <table id='ia' border="1"></table>

    <h5>按照SID排序对象数组:</h5>

    <table id='ib' border="1"></table>

    <h5>按照SAGE排序对象数组:</h5>

    <table id='ic' border="1"></table>

  </body>

</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值