注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

IOS & JAVA KEY

(iMilo)

 
 
 

日志

 
 
关于我

All the splendor in the world is not worth a good friend!! Hello my friend!!

网易考拉推荐

对象数组排序--jQuery数组和字符串  

2011-01-29 15:50:21|  分类: JQuery |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

l  对象数组排序

2011-01-29

              知识点:

假设以对象数组形式来保存学生信息。每个学生包括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>

  评论这张
 
阅读(5024)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017