Jquery操作数组元素(三)字符串数组与数值数组的排序

问题描述:

      有两个数组,一个字符串数组,一个数值数组,分别排序。

解决方案:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var members1 = ["John", "Steve", "Ben", "Damon", "Lan"];
            $("#p1").html(members1.join("<br/>"));
            members1 = members1.sort();
            $("#p2").html(members1.join("<br/>"));

            var number1 = [33, 45, 22, 54, 11, 7];
            $("#p3").html(number1.join("<br/>"));
            number1 = number1.sort();
            $("#p4").html(number1.join("<br/>"));

            var number2 = [33, 45, 22, 54, 11, 7];

            number2 = number2.sort(function (a, b) {
                return b - a;
            });
            $("#p5").html(number2.join("<br/>"));

        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <h3>显示排序前字符串数组元素</h3>
     <p id="p1"></p>
     <h3>显示排序后的字符串元素</h3>
     <p id="p2"></p>
      <h3>显示排序前的数字数组元素</h3>
     <p id="p3"></p>
      <h3>显示排序后的数字数组元素(一)</h3>
     <p id="p4"></p>
      <h3>显示排序后的数字数组元素(二)</h3>
     <p id="p5"></p>
    </div>
    </form>
</body>
</html>


效果图:

方法解释:

  sort()方法是基于ASCII值进行排序,所以大小写字符不能混淆排序,也不可以对数值进行排序,因为它任务10小于3 (因为1的ASCII值小于3的ASCII值),因此,为了正确对数值进行排序,必须为sort()方法定义一个比较函数。如果定义了比较函数,将把数组中的一对值发送到比较函数进行比较,重复这一操作,直到把数组的所有元素处理完毕。

当返回函数返回值小于0,表示第二个值大于第一个,因次第二个值排序靠后。

当返回函数返回值大于0,表示第二个值小于第一个,因此第一个值排序靠后。

当返回寒数返回值等于0,意味着不必改变排序。

注:对数值进行降序排序(从大到小),只需把比较函数的返回值从a-b修改为b-a;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值