数组重排序方法

£可爱£侵袭症+ 提交于 2020-03-21 12:58:24

   今天在复习的过程中,发现自己对数组的重排序方法sort()一直存在一个误区,重新捋顺,在此记录。。。

   数组中存在两个可以直接用来重排序的方法:reverse()和sort(),reverse()方法就是反转数组项的顺序。在默认情况下,sort()方法按升序排列数组项,在这个过程中sort方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,然后确定排序。之前一直没有注意到这一点,一直以为调用sort()方法过后会直接对一个数组进行正确排序,其实并不是这样,而是对得到的字符串进行比较,自己对它的理解一直都是错误的,今天终于清晰了。。。

  sort()方法可以接受一个比较函数作为参数,以便我们制定哪个值位于哪个值的前面。下面是一个简单的比较函数。

  function compare(a,b){

    if(a<b){

      return -1;

    }else if(a>b){

    return 1;

    }else {

        return 0;

    }

  }

  将其传递给sort方法即可。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!