请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 486|回复: 13

[js] js数组sort方法的分析

[复制链接]

607

主题

604

帖子

1909

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1909
发表于 2016-2-17 22:34:35 | 显示全部楼层 |阅读模式

js中 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


想要了解更多更全面的web前段知识,css样式,html教程,数据库教程,word教程,excel教程等等,就到excel学习网www.excelxue.com


回复

使用道具 举报

4

主题

1167

帖子

195

积分

注册会员

Rank: 2

积分
195
发表于 2016-3-8 21:57:10 | 显示全部楼层
能再解释的细节一些吗,具体的
回复 支持 反对

使用道具 举报

0

主题

1007

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2016-3-18 10:21:48 | 显示全部楼层
还有许多问题不明白,有点恼火啊!
回复 支持 反对

使用道具 举报

2

主题

1164

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2016-3-20 16:18:21 | 显示全部楼层
请问大家有什么看法?我绝对喜欢这个帖子
回复 支持 反对

使用道具 举报

4

主题

1167

帖子

195

积分

注册会员

Rank: 2

积分
195
发表于 2016-3-22 19:33:28 | 显示全部楼层
赞一个
回复 支持 反对

使用道具 举报

0

主题

1064

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2016-3-25 10:10:07 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

0

主题

1007

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2016-3-27 11:11:18 | 显示全部楼层
大神啊!豁然开朗。。。。。。
回复 支持 反对

使用道具 举报

7

主题

971

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2016-4-3 20:04:53 | 显示全部楼层
很不错的帖子,又学到了,力挺
回复 支持 反对

使用道具 举报

0

主题

1007

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2016-4-4 18:38:20 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

0

主题

1095

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2016-4-11 13:57:19 | 显示全部楼层
学习贵在坚持哦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2019-3-19 05:42 , Processed in 0.240899 second(s), 31 queries .

快速回复 返回顶部 返回列表