代码改变世界

js sort() reverse()

  改吧  阅读(392)  评论(0编辑  收藏  举报

数组中存在的两个方法:sort()和reverse()

直接用sort(),如下:

var array = [3,7,2,8,2,782,7,29,1,3,0,34];
    console.log(array.sort());
ps:[0, 1, 2, 2, 29, 3, 3, 34, 7, 7, 782, 8]

这个好像真的效果,sort():

1
2
3
4
5
arr.sort([compareFunction])
参数
 
compareFunction
可选。用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序。

 原来是compareFunction的问题,然后开始:

复制代码
function compare(value1,value2){
        if(value1<value2){
            return -1;
        }else if(value1>value2){
            return 1;
        }else{
            return 0;
        }
    }
    var array = [3,7,2,8,2,782,7,29,1,3,0,34];
    console.log(array.sort(compare));


ps:[0, 1, 2, 2, 3, 3, 7, 7, 8, 29, 34, 782]
复制代码

同理 reverse()也是这样

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function compare(value1,value2){
        if(value1>value2){
            return -1;
        }else if(value1<value2){
            return 1;
        }else{
            return 0;
        }
    }
    function compare1(value1,value2){
        if(value1>value2){
            return 1;
        }else if(value1<value2){
            return -1;
        }else{
            return 0;
        }
    }
var array = [3,7,2,8,2,782,7,29,1,3,0,34];
    console.log(array.sort(compare));//[782, 34, 29, 8, 7, 7, 3, 3, 2, 2, 1, 0]
    console.log(array.sort(compare1));//[0, 1, 2, 2, 3, 3, 7, 7, 8, 29, 34, 782]

 

 

ps:compare中return -1两个数之间就会交换位置,就像1,2;return 负数的话 就会2,1所以这就是所谓的升序,

  return 1的话就会默认位置,就是1,2就是返回1,2这就是所谓的降序

  不过我也不懂,为什么会这样,但是在博客园问了一下说是自定义的那就是靠死记吗?那我就不知道了 目前只能这样想,还不知道更多

  哈哈~~~~

点击右上角即可分享
微信分享提示