zoukankan      html  css  js  c++  java
  • js sort() reverse()

    数组中存在的两个方法: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():

    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()也是这样

    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这就是所谓的降序

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

      哈哈~~~~

  • 相关阅读:
    LeetCode
    lintcode--剑指offer
    lintcode--剑指offer---41--50道
    LeetCode中的bug!!!!!!
    常用知识点
    lintcode--剑指offer---31--40道
    LeetCode--链表
    Java设计实践课练习题
    lintcode--剑指offer---21--30道
    Java设计实践课的LeetCode题目
  • 原文地址:https://www.cnblogs.com/lwwen/p/5796108.html
Copyright © 2011-2022 走看看