JS_高阶函数(sort)

 1 //javaScript sort()排序算法
 2         //sort()方法默认把所有的元素转换成String再排序,字符串是根据ASCII进行排序的,所以会出现“10”排在“2”前面,或是小写字母“a”排在大写“B”的后面等情况。、
 3 
 4         //可以通过接收一个比较函数来实现自定义的排序。
 5         /*1*/
 6         var arr=[10,20,1,2];
 7         arr.sort(function(x,y){
 8             if(x<y){
 9                 return -1;
10             }
11             if(x>y){
12                 return 1;
13             }
14             return 0;
15         });
16         console.log(arr);//[1, 2, 10, 20]
17 
18 
19         /*2*/
20         var arr=[10,20,1,2];
21         arr.sort(function(x,y){
22             if(x>y){
23                 return -1;
24             }
25             if(x<y){
26                 return 1;
27             }
28             return 0;
29         });
30         console.log(arr);//[20, 10, 2, 1]
31 
32         /*3*/
33         //对字符串按字母顺序进行排序。实际上就是把字符串都变成大写(或者是都变成小写),再比较。
34         var arr = ['Google', 'apple', 'Microsoft'];
35         var a=arr.sort(function(s1,s2){
36             x1=s1.toUpperCase();
37             x2=s2.toUpperCase();
38             if(x1<x2){
39                 return -1;
40             }
41             if(x1>x2){
42                 return 1;
43             }
44             return 0;
45         });
46         console.log(a);//["apple", "Google", "Microsoft"]
47 
48         //要注意的是:sort()方法会直接对Array进行修改,它返回的结果仍是当前Array。
49         console.log(arr);// ["apple", "Google", "Microsoft"]

 

转载于:https://www.cnblogs.com/LinSL/p/7201544.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值